How to pass UTMs to ActiveCampaign

By Haktan Suren, PhD
In Blog
Sep 1st, 2018

One of the most repeated questions I get from HandL UTM Grabber community is how to pass UTM parameters to ActiveCampaign. Although there is no straightforward answer and may have several different ways to do it. Here, I’ll give a step-by-step tutorial about the vanilla way – using the ActiveCampaign form. Hopefully, this will be the most informative and generic implementation.

Step 1: Create UTM fields in ActiveCampaign

There is already great documentation for this on ActiveCampaign site. Hence, I’m not going to repeat those steps here. But the key is that you should create the inputs as “Hidden Field”. Although it’s totally up to you about which fields to create, I highly recommend creating the all fields.

The key is that you should create the inputs as “Hidden Field”

Please refer to this page (seciton 1. WP’S NATIVE SHORTCODES) to get the name of all the parameters used in HandL UTM Grabber.

ActiveCampaign Custom-Fields For HandL UTM Grabber

Step 2: Create the opt-in form in ActiveCampaign

Again, there is a good documentation on ActiveCampaign site about opt-in form. After you create your form, you can add the custom fields you’ve just added from Step 1 by simply dragging and dropping to the form area just like shown in the GIF below.

And then, click integrate and copy the “Full Embed” code to clipboard.

Step 3: Adding HandL UTM Grabber shortcodes to the Form Embed code

Before you use the form code (copied from Step 2) on your site, we need to make a few changes on the custom field code. It is simply replacing the hidden input field with the HandL UTM Grabber’s input field wrapper code.

Simply change:

<div class="_form_element _field13 _full_width " >
   <input type="hidden" name="field[12]" value="" />


<div class="_form_element _field13 _full_width " >
   [[utm_campaign_i]<input name="field[12]" type="hidden" value="%s" />[/utm_campaign_i]]

You do this for all the custom fields. And you are ready to go 😀

And then copy the code where ever you want in your WP installations and upon submission the UTM fields will be populated.

Let me know if you have a question using the comment section down below 👇.

About the Author

Haktan Suren, PhD
- Webguru, Programmer, Web developer, and Father :)

23 Responses to “How to pass UTMs to ActiveCampaign”

  1. Yoan Yahemdi says:

    Thanks for this great article.

    However, I’ll be careful, never use utm parameters inside the website that is already tracked by the GA.

    It will rewrite the real source in Google Analytics.
    It will trigger a new fake session in Google Analytics as well.

    Your method should be used only for the form which are outside of the website.

    Kind regards,

    • Haktan Suren, PhD Haktan Suren says:

      Hi Yoan,

      I do not understand why it will rewrite the source? or it will create fake sessions in GA. HandL UTM Grabber does not interfere with GA at all. I appreciate if you can explain more.


  2. Joao says:

    Hey, Haktan,

    I tried to make the plugin works with Active Campaign, but it’s passing the same parameters (the first that i tried). All the contacts are with the same UTM’s.

    Can you help witi this problem?

  3. Josh says:

    Hi @Haktan

    What if you’re using gravity forms in WordPress to ActiveCampaign? How do you change the code in WP (Step 3)? I have Handl plugin installed. Made the changes in Gravity form AC setting using hidden fields then changes.

    (check box)Allow field to be populated dynamically
    Parameter Name:

    I got it pass through GF to AC with a simple test adding /?utm_source=test&utm_medium=test to the end of my url

    BUT This morning I got two real submissions but no utm data info passed in gravity form entry or AC entry. I can verify in GA that utm info was passed there. Leads or traffic are coming from Bing As an FB ads if that is helpful. Verified i have the UTMs setup correctly on those platforms.

    Any help or directions would be helpful. Thanks!

  4. Zach S. says:

    HI Haktan,

    I followed the process above and for some reason it’s still only passing %s in Active Campaign. Here’s a look at our code. We installed and activated the plugin, created hidden fields, created the form, and then modified the form with your wrapper code. Any thoughts?

    [utm_medium] [/utm_medium]

  5. Zach S says:

    <code class="{html}"
    [utm_medium] [/utm_medium]

  6. Hello,

    Thanks for the tutorial.

    I´ve done and it´s working almost 100% but “gclicd” and handl_original_ref still just showing %s

    Ps: I´ve created a ebook campaign at facebook just for instagram stories.

    Can you help me?


  7. Terry Lee says:

    I am having trouble getting this to work. Do I need to do step 3 if I have the WP Plug in Installed and Activated? If so, do I need to have the WP plug in at all?

  8. I’m using SmartTheme (came with OptimizePress plugin), and it is integrated with ActiveCampaign.

    I followed the process above.

    But the custom fields justs are filled with %s.

  9. Nick says:

    Hello, I’ve tried this — and it seems to be working. However, the when HANDL populates the UTM fields, it shows on the form. How does it stay hidden?

  10. Gabriele says:

    Hi Haktan, does it work with Clickfunnels if i paste the Html code directly i. their editor into a page to attach the form. I tried and it doesn’t work.


  11. Fernando says:

    This post saved my day! Thanks a lot.

  12. Mate says:

    This method is work in 2023?

  13. Alex says:

    Can I also extract only the URL Path/Slug

Wrap your code in <code class="{language}"></code> tags to embed!

Leave a Reply

E-mail address is required for commenting. However, it won't be visible to other users.

Loading Facebook Comments ...
Loading Disqus Comments ...