HandL UTM Grabber: Capture UTMs on your forms

By Haktan Suren
In Bestof
Apr 10th, 2016
211 Comments
142922 Views

This page is dedicated to HandL UTM Grabber and its documentation. Please comment down below if you have any question or future requests about the plugin.

HandL UTM Grabber

Major features in HandL UTM Grabber include:

  • Add hidden fields in your forms (incl. Contact Form 7, Gravity Form)
  • Pass UTM variables to major marketing tools such as ActiveCampaign, Vero, Aweber, Interspire and many more…
  • Hassle free implementation (no shortcodes). See below…

I – Installation of HandL UTM Grabber

It installs like every other simple plugins out there. So, no specific information needed in this section.

II – What can you do?

Capture all the UTM variables as soon as user hits your website (ANY page of your WP installation): One great feature of the plugin is the UTM variables are saved in client’s browser and even though there is no UTM variables in URL, the variables can still be accessible via shortcode across any page/widget of your website.

III – How to use?

1. WP’s native shortcodes

[utm_campaign] – Prints out utm_campaign variable.
[utm_source] – Prints out utm_source variable.
[utm_term] – Prints out utm_term variable.
[utm_medium] – Prints out utm_medium variable.
[utm_content] – Prints out utm_content variable.
[gclid] – Prints out gclid variable.
[handl_original_ref] – The URL from which the user came to your site
[handl_landing_page] – The very first page the user visited on your site.
[handl_ip] – The IP address of the user.
[handl_ref] – The URL which the user came from to the page you have the shortcode.
[handl_url] – The URL on which you placed the shortcode.

2. Input Field Wrapper

There are some places you are not able to use WP’s native shortcodes. One example is when you use HTML in WYSWYG editor. If you directly copy paste the HTML below in your WP editor, you will see that the shortcode breaks.

<input type="hidden" name="utm_campaign" id="utm_campaign" value="" />

In order to prevent this, we recommend using the following shortcode wrappers.

[utm_campaign_i]<input type="hidden" name="utm_campaign" value="%s" />[/utm_campaign_i]
[utm_source_i]<input type="hidden" name="utm_source" value="%s" />[/utm_source_i]
[utm_term_i]<input type="hidden" name="utm_term" value="%s" />[/utm_term_i]
[utm_medium_i]<input type="hidden" name="utm_medium" value="%s" />[/utm_medium_i]
[utm_content_i]<input type="hidden" name="utm_content" value="%s" />[/utm_content_i]
[gclid_i]<input type="hidden" name="gclid" value="%s" />[/gclid_i]

[handl_original_ref_i]<input type="hidden" name="handl_original_ref" value="%s" />[/handl_original_ref_i]
[handl_landing_page_i]<input type="hidden" name="handl_landing_page" value="%s" />[/handl_landing_page_i]
[handl_ip_i]<input type="hidden" name="handl_ip" value="%s" />[/handl_ip_i]
[handl_ref_i]<input type="hidden" name="handl_ref" value="%s" />[/handl_ref_i]
[handl_url_i]<input type="hidden" name="handl_url" value="%s" />[/handl_url_i]

You can safely use the shortcode wrappers in your HTML content without worrying about breaking the code.

3. Hassle Free Implementation (No Shortcode)

Upon ativation of this plugin, it will fill the elements named “utm_source, utm_medium, utm_term, utm_content, utm_campaign, gclid” AUTOMAGICALLY! (by element name, id and class)

Simple Examples:

<input type="hidden" name="utm_campaign" />
<input type="hidden" name="foo" id="utm_campaign" />
<input type="hidden" name="foo" class="utm_campaign" />

If you are already using one of those names either in your form element name, id, or class. You do not have to use the shortcode or shortcode weappers. HandL UTM Grabber will automatically fill the corresponding fields. Easy peasy eh?

When to use?

1. if you would like to pass UTM variables to another domain. You can simply append UTM variables into your destination URL like this

<a href="www.destinationURL.com?utm_campaign=[utm_campaign]&amp;utm_source=[utm_source]&amp;utm_term=[utm_term]&amp;utm_content=[utm_content]&amp;gclid=[gclid]">Click Here To Go >>> </a>

2. Submit UTM variables into your favorite email marketing tools (Lead Tracking)
Very detailed information and integration tutorials with major marketing tools (ActiveCampaign, Vero, Aweber) and other WP plugins (Contact Form 7, Gravity Forms, WordPress-to-lead for Salesforce CRM, Ninja Forms) can be found here

About the Author

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

211 Responses to “HandL UTM Grabber: Capture UTMs on your forms”

  1. Nathan Faulkner says:

    A few typos in the new documentation. Consider changing from:
    [handl_original_ref_i][/handl_original_ref_i]
    [handl_landing_page_i][/handl_landing_page_i]
    [handl_ip_i][/handl_ip_i]
    [handl_ref_i][/handl_ref_i]
    [handl_url_i][/handl_url_i]

    to:
    [handl_original_ref_i][/handl_original_ref_i]
    [handl_landing_page_i][/handl_landing_page_i]
    [handl_zip_i][/handl_zip_i]
    [handl_ref_i][/handl_ref_i]
    [handl_url_i][/handl_url_i]

    All the field names are currently “gclid”

  2. Nathan Faulkner says:

    My previous comment was stripped of its code 🙁

  3. Lawrence says:

    Hi,

    Does this plugin store the utm details in cookies?

    Or will it only work when the URL features the various UTM parameter.

  4. I need to pass the UTM throughout the site and when they click on an outbound link, can this plugin pass the UTM in the URL throughout the site?

    • Haktan Suren Haktan Suren says:

      Yes, this plugin exactly does what you are asking…
      First of all, as soon as you installed the plugin, all the utm variables will be “automatically” recorded in the cookie.
      Simply use this in order to pass the UTMs

      <a href="www.destinationURL.com?utm_campaign=[utm_campaign]&amp;utm_source=[utm_source]&amp;utm_term=[utm_term]&amp;utm_content=[utm_content]&amp;gclid=[gclid]" rel="nofollow">Click Here To Go >>> </a>
      

      Also check #1 of “WHEN TO USE?” section of this article…

      Let us know if you need any other help!

      • So in order to pass the UTM throughout the site, I have to add the shortcode to all my links? Great plugin by the way!

        • Haktan Suren Haktan Suren says:

          Yes…

          Btw, I have another solution (another plugin [not in WP plugins yet though]) that automatically appends UTMs to all the URLs on your website. Let me know if you would be interested in that. I can send you the link or maybe include it in this plugin as a feature.

          • Yes! That would be great, because I have menu items etc that I don’t want to go through and add that link to. Thank you very much!

          • Thanks again, let me know when you can send that to me, I am looking to get it implemented asap. Basically there will be different users coming into the site with different UTM’s and I just need to ensure that their specific UTM get’s carried throughout the entire site, and on outbound links that goes to our app. I believe with some tweaks this plugin is exactly what I need. Again, great plugin!

          • Yasser says:

            Hello, thank you very much for this really useful plugin.

            Btw… I’m also interested in the plugin which will allow me to automatically appends UTMs to all the URLs on my website.

            Would be great if I could get it.

            Thanks in advance.

          • Haktan Suren Haktan Suren says:

            Thank you for the feedback, Yasser. I am currently working on implementing that feature. I think I will release the new version of the plugin within a week or so.

          • Haktan Suren Haktan Suren says:

            Happy to announce that I have just released a new version v2.5 that auto appends UTM variables to all links. Update HandL UTM Grabber plugin to the latest to activate the new feature.

      • BikerSOS says:

        Hello, i have a problem adding the passed utm parameters to a standard menu entry.
        the entry is an individual link to a webapplication on a different server. plugin is installed and the passed url on the webapp is:
        https://mypagelink/?utm_campaign=%5Butm_campaign%5D&utm_source=%5Butm_source%5D&utm_medium=%5Butm_medium%5D#/auth/login

        if I enable the setting to pass the utm parameter to all links the correct values are appended on my menu link, but thats not an option for me, i have to specifiy the locations where i pass the original utm parameters.

        Is there anything different if i add it in the wordpress default menu individual link part?

        • Haktan Suren Haktan Suren says:

          Let me understand it right… You want to append UTMs to menu items only?

          • BikerSOS says:

            Yes so to say. I want to choose the outgoing sources where the utm parameters are appended.
            It works perfectly on other content elements, but on a menu item i cannot add these.
            i made a workaround and use now a custom javascript which appends the parameters to specific elements with a defined class

          • Haktan Suren Haktan Suren says:

            Do you use a plugin for creating the menu element (e.g. Uber Menu)? Append UTM is still in beta, it is still not compatible with some of the plugins.

          • Werner says:

            Not only, but additionally to other ways which are already supported.
            For example i have an outgoing link in the menu to our Webapp my.bikersos.com and i want to pass the utm parameters to the site. But i do not want to pass it to a site within the WordPress website e.g App.

          • BikerSOS says:

            No i use the default WordPress Menu within the Avada template in Design -> Menu

          • BikerSOS says:

            I now use a javascript snipped where i defined a class name and each element with an outgoing link and this class, the utm parameters will be appended

          • BikerSOS says:

            I forgot to mention that the drawback of this solution is, that I loose the utm parameters if a visitor goes to another page within the website and then clicks the outgoing link. So in order to track it correctly, he has to use an outgoing link on the site he has been redirected during the ad or so

          • Haktan Suren Haktan Suren says:

            You seem to have some good questions, please consider joining our slack channel here https://www.haktansuren.com/slack-handlwp/ 🙂

  5. F2 Fitness says:

    Hello,

    I’ve installed contact form 7 plugin along with Handl UTM grabber. However none of the UTMs are getting captured at the backend. What could be the issue here?

  6. Haktan Suren Haktan Suren says:

    I will send it to you as soon as I implement the code into the plugin. It will be within a week or so. I will update you here as well.

  7. horacio says:

    Hi, I’m trying to use your plugin to capture the information that other plugin (webinarignition) capture in a form, but apparently is not interpreting properly the information, here is an example to try to show you the problem:

    when I insert this:

    instead of put the UTM info, send this “HandL UTM Grabber”

    or with the shortcodes:
    [utm_campaign_i][/utm_campaign_i]
    this sends %s instead of the actual value of %s…

    do you know how can I solve this?

    the page hide the code of the first example, here is
    ….” “….

    with spaces so this forum don’t delete it

    input type=”hidden” name=”label:utmcantidadvisitas” id=”utm_campaign” value=”HandL UTM Grabber”

    I also tried these options:
    input type=”hidden” name=”label:utmcantidadvisitas” id=”utm_campaign” value=”[utm_campaign]”

    [utm_campaign_i] input type=”hidden” name=”label:utmterm” value=”[utm_campaign]” / [/utm_campaign_i]

    (with )

  8. Scott says:

    Is the new “every URL” feature fully implemented? Is it working?

    • Haktan Suren Haktan Suren says:

      Yes, it is implemented fully. Please go to http://yourdomain.com/wpplugins/wp-admin/options-general.php?page=handl-utm-grabber.php and check “Append UTM” to activate the feature. Please note that, Append UTM feature is still on BETA, I appreciate any feedback.

  9. Erik says:

    Hi, its only Working for me in the Article Text, not on Sidebar or Header and Footer.

  10. Sing says:

    Hi, your new update V. 2.5.2 broke our custom parameters somehow. The parameter is cb=[cb].

    On the old version (2.4), we get this http://behalftesting.wpengine.com/about/?utm_source=testsource&utm_medium=testmedium&utm_campaign=testcampaign&cb=true. cb=true is woking fine, this is a test site by the way.

    New version (2.5.2), we get this https://www.behalf.com/about/?utm_source=testsource&utm_medium=testmedium&utm_campaign=testcampaign&cb=%5Bcb%5D. Now all links on the site have the query parameter cb’s value stay at cb=[cb], and it’s not working.

    Could you please look into this? Thanks!

    • Haktan Suren Haktan Suren says:

      So let me understand this better. [cb] is the shortcode you append to your URL in your content. And somehow they are not recognized by WP (after the upgrade) as a shortcode so they are just printed as a shortcode (e.g. [cb])?

      It appears to be that you are using “Append URL” feature. Can you just confirm? Thanks!

  11. Alex says:

    Hi, Haktan!

    Is there Method to integrate your plugin into Woocommerce registration?

  12. Alex says:

    This really great idea, the thing all e-commerce shops need use

  13. Hello Haktan! I can’t thank you enough for making this plugin.

    I have a few questions about the plugin that I wanted to ask you. How can I join the slack channel

  14. Simon says:

    Great plugin, how do i add the shortcode to WooCommerce email order templates ?

    • Haktan Suren Haktan Suren says:

      Hi Simon, Not sure if WooCommerce allow shortcode on email order template, I will check it out and let you know soon…

    • Haktan Suren Haktan Suren says:

      Hi Simon,
      Sorry about the delay… I figured that you can do this in two different ways.

      Way #1
      Dashboard > WooCommerce > Emails > New Order > Copy File To Theme
      This will generate a PHP file under your theme folder. Edit the theme file your-theme/woocommerce/emails/admin-new-order.php

      Find the line start with

       do_action( 'woocommerce_email_order_meta', $order, $sent_to_admin, $plain_text, $email );
      

      and add those just under

      $fields = array('utm_source','utm_medium','utm_term', 'utm_content', 'utm_campaign', 'gclid', 'handl_original_ref', 'handl_landing_page', 'handl_ip', 'handl_ref', 'handl_url');
      foreach ($fields as $id=>$field){
          print "$field: ".do_shortcode("[$field]")."<br>";
      }
      

      Way #2
      Create a plugin OR just add this into the function.php under your-theme/ folder

      add_filter('woocommerce_email_order_meta_fields', 'handl_utm_grabber_checkout_field_order_meta_fields', 10, 3 );
      function handl_utm_grabber_checkout_field_order_meta_fields( $fields, $sent_to_admin, $order ) {
          if ($sent_to_admin){
      	$fields = array('utm_source','utm_medium','utm_term', 'utm_content', 'utm_campaign', 'gclid', 'handl_original_ref', 'handl_landing_page', 'handl_ip', 'handl_ref', 'handl_url');
      	foreach ($fields as $id=>$field){
      		$fields['handl_'.$field] = array(
      			'label' => __( $field ),
      			'value' => do_shortcode("[$field]"),
      		);
      	}
          }
          return $fields;
      }
      

      Hope it is helpful for you. If you have any further question regarding this, join our slack channel here

  15. Scott Covert says:

    Does this work in aweber? Been spending 5 hours trying. Happy to donate $20 if you can solve.

    you can check code here:
    http://jackcartertrading.com/list1/?utm_campaign=testcamp&utm_source=testsource&email=scott@scovert.com

    when it was set for /$ or whatever, that was the literal value sent through – same with [utm_campaign]

    • Haktan Suren Haktan Suren says:

      I see that shortcode is spitted on the form. It may be because shortcode is not allowed in the plugin you are using.

      Try using just the hidden input field as it is explained under “3. HASSLE FREE IMPLEMENTATION (NO SHORTCODE)”.

      <input type="hidden" name="utm_campaign">
      <input type="hidden" name="utm_source">
      <input type="hidden" name="utm_term">
      <input type="hidden" name="utm_medium">
      <input type="hidden" name="utm_content">
      <input type="hidden" name="gclid">
      • Scott Covert says:

        in aweber, when you make a new variable, you have to refer to it in forms as name=”custom variable”, instead of just “variable”

        I think that presents a big problem?

        • Haktan Suren Haktan Suren says:

          It doesn’t have to be “name” parameter. Can you assign them a Class or ID? If you can, simply assign it like class=”utm_campaign”. If not, please provide me the plugin you are using for AWeber or how you implementing it. I will try my best to help you out. Also, consider joining our slack channel for better conversation https://www.haktansuren.com/slack-handlwp.

  16. Scott Covert says:

    I am putting in aweber form as raw html text chunk in divi theme

    would it help if I put it in a code element rather than text element?

    not familiar enough with css or php to know how to implement class or ID, or how that would get the proper variable output into the aweber form

  17. Puneet says:

    Hey, I have just installed your plugin and this can really help me in tracking my campaigns well at the user level.

    I want to append my UTM variables to all URLs (and not just the landing page) and I have checked in the option ‘Append UTM variables to all the links automatically (BETA)’.

    But when I move from a landing page (homepage in this case) to another page on the website the UTM parameters are not being appended and they disappear.

    Homepage (UTM Coded)
    http://www.sitarambhartia.org/?utm_source=google&utm_medium=cpc&utm_campaign=brand-keywords

    But when I navigate to another page, the UTM codes disappear example – http://www.sitarambhartia.org/maternity-program/

    I need the UTM codes to be appended to all URLs from the initial landing page so can you please help me with the same.

  18. Patrick says:

    Hi Haktan, I have (hopefully) a quick question. I added the plugin to my WordPress site to pass UTM user ID numbers that I receieve on my landing page on to another domain.

    The idea would be have a URL like this: https://businessadvising.org/get-started/lending-club/?utm_medium=12345

    And when you’re on the page, from there, you would click on this link https://businessadvising.geteverwise.com/roles/1/sign_up and the “12345” example user ID would carry through.

    I set up that second link like this: https://businessadvising.geteverwise.com/roles/1/sign_up?utm_campaign=[[utm_campaign]]&utm_source=[[utm_source]]&utm_medium=[[utm_medium]]&utm_term=[[utm_term]]&utm_content=[[utm_content]]&gclid=[[gclid]]

    But, when testers click through, instead of https://businessadvising.geteverwise.com/roles/1/sign_up?utm_medium=12345 we’re seeing https://businessadvising.geteverwise.com/roles/1/sign_up?utm_medium=utm_campaign

    Any idea what I’m doing incorrectly?

    • Patrick says:

      Sorry, forgot to add the code classes. Here’s how the second link is set up:

      https://businessadvising.geteverwise.com/roles/1/sign_up?utm_campaign=[utm_campaign]&utm_source=[utm_source]&utm_medium=[utm_medium]&utm_term=[utm_term]&utm_content=[utm_content]&gclid=[gclid]

      • Haktan Suren Haktan Suren says:

        Your implementation seems correct. I was wondering why you are not using the “Append UTM” (make sure you are on latest version) feature? It is under Settings > HandL UTM Grabber. It does this automatically without you having to do it manually. Let me know how it goes.

  19. Lane says:

    Hey Haktan,

    Love this plugin! If someone comes to my website with the UTM string attached (lets say via a text ad), then leaves, and comes back later via a link without the utm string (lets say organically or types in the url directly) will the plugin still recognize that the person came to the site originally with the UTM string and attach it? This is of course assuming this person doesn’t block cookies and didn’t clear their cache or anything.

    • Haktan Suren Haktan Suren says:

      Hi Lane,

      Thanks for the feedback. I am glad you find it useful.

      About your question, yes you are right. The user will be tagged with the same UTM after second visit (even though w/ no UTM) FYI, the cookies are set to expire after 30 days.
      Let me know if you have any other question.
      Cheers,

  20. Eduardo says:

    Hi!

    I’m using the plugin “Retarget Engine” to load facebook pixel codes when I redirect the clients do the checkout page, because the checkout page is outside my domain. I tried do use [[utm_content]] in the destination URL on the Retarget Engine plugin, but does not working. How can I solve this?

  21. yivgeni says:

    Hi,

    Awesome plugin!

    It passes the UTMs no problem and shows the previous page and the form origin page well. However, I get intermittent results with the referral and landing page – sometimes it works sometimes it doesnt. Usually if i land directly on the form page it works but if i browse it wont capture it. I get random page addresses that i didn’t even visit.

    Here’s the link:

    http://www.metrocompactor.com/commercial-marathon-equipment/self-contained-compactors/rj-100sc-series-compactors/ (form is at bottom)

  22. yivgeni says:

    ah! That explains it! Thank you very much

    This is such a great plugin 🙂

  23. Alan says:

    Great tool thank you.
    Unfortunately I am working with a form tool that insists on rewriting form element names. In your example above class=”utm_campaign” can work. What if there are other styles in that element eg class=”mauticform-hidden utm_campaign” ?

    • Haktan Suren Haktan Suren says:

      Hi Alan,
      Have you tried using the other methods (e.g. shortcode)? Can you let us know more about the way you are using the plugin? Thanks!

      • Alan says:

        Hi Haktan, at the moment the forms are being added via a line of javascript which gives me limited control. I am trying my best not to have to replace ALL forms with their HTML version.
        If multiple elements in a class does not work then i might not have a choice.
        Thank you for the reply.

  24. Jay Akin says:

    Hi Haktan,
    Seems like the parts after %20 is cut out of the utm values. %20 is automatically replaces space when you use google url builder to generate links with utm codes. Is there a solution for this, where the whole content for the utm tag is captured instead of the piece until the %20?

  25. Clare Wilson says:

    Hi Haktan

    This is working well elsewhere on our site but please could you help me work out why the UTM codes aren’t being passed through on our “Back to Summit” button on this page?

    https://summits.brighttalk.com/summit/digital-banking-2/its-all-in-your-hands-mobile-banking-apps-and-personal-finance/?utm_source=TestTimes&utm_medium=NewspaperJuly&utm_campaign=TestMcTestfacePromo

    Thanks!

    Clare

    • Haktan Suren Haktan Suren says:

      Hi Clare,
      Please note that auto append feature is still on beta. It is not guaranteed that it auto appends to every anchor link on the page.

      In your case, it seems like “Back To Summit” link is one of the exceptions. Your theme seems like custom coded, so I am not fully sure what’s going on until i see how it is coded. My guess is that it is either rendering after page load or it is not using proper WP functions (e.g. nav_link etc.). May I ask why you want to append the UTMs on that button? UTM Grabber works COOKIE based, that means when user lands on your page, UTMs are recorded in client’s COOKIE and then pass to the forms. I would be happy to help if you have more questions. You can reach out easier via joining our Slack channel.

  26. Lawrence says:

    Hi,

    How easy would it be to tweak the plugin so that and additional variable?

    For example, http://www.mysite.com?salute=hello

  27. Mark says:

    I have the “Append UTM variables to all the links automatically (BETA)” unchecked, but it still appends the variables to each link. I could surely poke around and remove it, but don’t want to break anything. Can you tell me how to only use the variables on-demand (such as shortcode). I only need it to write to gravity forms inputs, and not carry the variables in the url.

    Please and thank you.

  28. Mark says:

    The cookie piece is all I was really after. Just the cookie to grab the variables on the submit and add to our CRM to track from inception through a long sales cycle.

  29. Maor says:

    Hello,
    Can I stop the saving of the utm var to the browser? I don’t want to send utm to my lead system when there is no utm in the address.

    Thank you.

    • Haktan Suren Haktan Suren says:

      The plugin default is not to record anything in COOKIE if no utm provided in URL. So I am not sure what kind of problem you are having. Can you give me a URL to see the problem? Thanks!

  30. Mark Murnahan says:

    I’m giving it a whirl. It looks like it is working the way I hoped. I’ll let you know if I run into anything.

    Thank you for the great support, Haktan Suren.

    Cheers!

    Mark

  31. dorian logan says:

    Is it possible to set a TTL for UTMs – so we can set how long the UTM is valid for – from it first being set.

    • Haktan Suren Haktan Suren says:

      Hi Dorian,
      Unfortunately, there is no way to set a TTL for UTMs as of version 2.5.10. But this has been brought to me by couple more people. And I think it is a great idea. I will implement this in future releases and let you know. In the mean time, I can give you some more info about how to do it editing the version you have if you are interested in.

  32. kevin says:

    Hi Haktan,

    I have an issue where the UTM grabber is grabbing the “handl” variables but it doesn’t always grab the individual UTM variables.

    So I see a url that has utm_source=”x”&utm_content=”y” (I know the parameters are there as they are in the handl original ref) but my wordpress webhook isn’t giving me {“utm_source”,”value”:”x”} and {“utm_content”,”value”:”y”}

    Any help would be awesome. Sometimes I see this, sometimes I don’t and I can’t work out why.

  33. Denish says:

    Hey Haktan Suren,

    I am using ur handl utm grabber Plugin. its work awesome but at time it won’t store UTM Values. Example: utm stored for all main menu links like about, contact, blog and home link. when I click on Logo image it doesn’t store UTM and also for blog post i am not able to store UTM.

  34. Hi Haktan,
    I am using your plugin Handle UTM Grabber and it works great but I have small problem.

    You can see here:
    http://www.nejlevnejsipovinneruceni.cz/pokus-url/?utm_source=testsource&utm_medium=testmedium&utm_campaign=testcampaign

    1) As text the UTM are displayed correctly
    2) As part of link it is added correctly (href=”http://www.salvepojisteni.cz/frames/povinne-ruceni/krok-1.aspx?affiliatePartnerId=1&utm_source=testsource&utm_medium=testmedium&utm_campaign=testcampaign”)

    3) But in iframe as link in source attribute it stays as shortcode instead of values:

    src=”http://www.salvepojisteni.cz/frames/povinne-ruceni/krok-1.aspx?utm_source=[utm_source]&utm_medium=[utm_medium]&utm_campaign=[utm_campaign]”

    Am I doing something wrong with iframe or can I use some PHP code instead of shortcode? What is the PHP code?

    Thanks in advance
    Tomas

  35. johnpurcam says:

    How do I change the add another variable for the plugin to recognise and grab? For examplesomeone comes to the site with mydomainlink/?userid=xyz123. I need ?userid=xyz123 appended to outgoing links.

  36. Alan says:

    im trying to capture the gclid in gravity forms but not succes, any tutorial?

  37. Sam Kim says:

    Hi!
    I am Sam Kim from KPI Healthcare Inc. I think it is a very useful plugin. But, I found a small bug.
    source : handl-utm-grabber.php
    line : 28
    $_COOKIE['handl_url'] = isset($_SERVER["HTTPS"]) ? 'https://' : 'http://' . $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"];;

    ----------------------------------

    $_COOKIE['handl_url'] = isset($_SERVER["HTTPS"]) ? 'https://' . $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"] : 'http://' . $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"];

  38. Alicia says:

    hi!

    So, it might be a WP shortcode thing, but the codes aren’t going through..

    “&utm_source=%5Butm_source%5D&utm_medium=%5Butm_medium%5D&umt_campaign=%5Butm_campaign%5D&utm_content=%5Butm_content%5D&utm_term=%5Butm_term%5D”

    How can I fix this?

  39. Greg Lamb says:

    Hi,

    I am trying to place a capture the utm_source & utm_campaign, and output them into a dynamic php output for the last page in pagination. I have tried http://reactshare.com/exit?utm_campaign=”, but this does not work. Everything I try breaks the website.

    Basically I just need to append the campaign/source to the end of the link http://website.com/exit that you see in the code below. Thanks for any help!


    protected function callback_render_pagination() {

    $buffy = '';

    $current_page = $this->get_current_page($this->list_items);
    $total_pages = count($this->list_items['list_items']);

    // no pagination if we have one page!
    if ($total_pages == 1) {
    return '';
    }

    // echo $paged;
    // echo $total_pages;

    if ($current_page == 1) {
    // first page
    $buffy .= '';
    $buffy .= '' .__td('Back', TD_THEME_NAME). '';
    $buffy .= '_wp_link_page($current_page + 1) . '">' .__td('Next Page >', TD_THEME_NAME). '';
    $buffy .= '';
    }
    elseif ($current_page == $total_pages) {
    // last page
    $buffy .= '';
    $buffy .= '_wp_link_page($current_page - 1) . '">' .__td('Back', TD_THEME_NAME). '';
    $buffy .= '<a class="td-smart-list-button td-smart-next" rel="next" href="http://website.com/exit?utm_campaign=''">' .__td('Next Page >', TD_THEME_NAME). '';
    $buffy .= '';
    }
    else {
    // middle page
    $buffy .= '';
    $buffy .= '_wp_link_page($current_page - 1) . '">' .__td('Back', TD_THEME_NAME). '';
    $buffy .= '_wp_link_page($current_page + 1) . '">' .__td('Next Page >', TD_THEME_NAME). '';
    $buffy .= '';
    }

    return $buffy;
    }

  40. Mark says:

    Trying to switch phone numbers on site based on UTM Campaign

  41. Mark says:

    What would you charge to help?

  42. Mark says:

    We basically have a list of UTM that have associated phone numbers and need the hyperlinks (click to call based on the utm) wherever it is displayed.

  43. Ashish Kumar says:

    We have using your plugin in 2 website with Append UTM, But only one website is showing UTM code on all webpage urls and one is showing nothing. Can you help me on this.

  44. https://www.etwomensforum.com/?utm_source=facebook&utm_medium=promoted&utm_campaign=welcome

    i checked on Append UTM variables to all the links automatically (BETA)
    and saved
    button only header menu is taking UTM
    rest of all href links like images and buttons are not working in UTM url

  45. Eduardo says:

    Hi Haktan, first of all, great plugin you have.

    There’s only one issue I can’t resolve.

    Whenever there’s no UTM parameter in the URL, the plugin will still forward the LAST UTM used, by another user.

    That means if a user signups up with utm_source=”fbad01″, and another user later, that came straight from a Google search (no UTM), signs up too, he’ll keep the “fbad01” UTM as well, when it should be blank.

    Is there a workaround?

    Thanks!

    • Haktan Suren Haktan Suren says:

      Hi Eduardo,

      Thanks for the kind words.

      To answer your question, cookies are not saved across users. That means, one user’s cookies can’t be accessed by other user (this is a basic security future of the browsers) unless both users share same computer and browsers. If they are not sharing computer/browsers, and if you think cookies are transferred to another user, i would say it might be due to the caching problem… That means the first UTM is cached in the HTML and the same cache version of the page is served to other user. Are you using WP Engine?

      • Eduardo says:

        That makes sense… I’m using Thrive Leads, this is the squeeze page: seocomprovado.com/fb/

        If I edit the lead form code, the “ value= “ will be filled by the last user data… any suggestion how to fix that?

  46. Kevin says:

    Hi Haktan,

    Your plugin work well 🙂

    I have a little question, if a visitor come on my website with UTM link and is close the window & reopen my website without utm for make a registration, your plugin can get the initial UTM or not ?

    Many thanks

    • Haktan Suren Haktan Suren says:

      Yes exactly. This is exactly the meat of the plugin. UTM is recorded in the COOKIE and passed to the leads later on. So technically, user first lands on the page, plugin records the COOKIES in client’s browser. A few weeks later, user visits the website again (w/o UTMs in the URL) and opt-in. UTMs are still passed to the opt-in and eventually to the CRM. Hope this clears out.

  47. Mike McPeak says:

    Could you look into my issue on WordPress support page?

    https://wordpress.org/support/topic/url-fields-not-pulling-into-cf7/

    Also, I do not see option to append UTM to all links. Where is this setting?

    • Haktan Suren Haktan Suren says:

      I’ll reply the ticket as soon as i get the chance. Please check “HandL UTM Grabber” under Settings for “Append All” feature.

      • Mike McPeak says:

        Found the settings, thank you. I was looking for settings under the plugin itself. Working on your response on the wordpress plugin page now. Will update there if resolved.

  48. Jimmy says:

    Is it possible for the plugin to store info about the referring source? More specifically if the visitor came from Organic Search or Direct?

  49. Mike McPeak says:

    Have you experience this not grabbing autotagged Adwords UTMs? I tested using the UTM appending tool found here (https://ga-dev-tools.appspot.com/campaign-url-builder/), but I am not seeing UTMs pull over from paid media, even though I do see the Google Click ID. Does my SEM team need to manually append UTMs rather than use autotagging?

  50. Mike McPeak says:

    Yes, it is installed on this site, https://haletrailer.com. There is a contact form at https://haletrailer.com/locations/

    • Haktan Suren Haktan Suren says:

      just confirmed that the cookies are populating. Can you manually append UTM to your URL and test if it is captured. As far as I know Adwords automatically appends UTMs to the URL, you do not have to manually include them

      • Mike McPeak says:

        Yes, they were working when I was manually appending. it just seems Adwords auto-tagged ones are not being captured, though we double checked the setting. I believe my SEM company is working on manually setting up the UTMs now to see if it helps.

  51. […] If you are not familiar with HandL UTM Grabber, or want to learn more about what you can capture, please visit this page. […]

  52. Hello!

    I had an AWOL web developer create cookie which did what I think your plugin does, however after I migrated the site to a new hosting provider it stopped working, so I downloaded your plugin hoping it might be a solution. I have gravity forms and have the utm fields in my form setup the way you suggest. Most of my traffic comes from adwords and bing ads, which has the utm info appended to the URL, however the utm parameters are still not populating in the form fields. The form can be found at the website link below. Would mind checking it to see if I did something wrong? It would be much appreciated. Thank you so much!

  53. Jose Antonio says:

    with the option “Append UTM variables to all the links automatically” the URL like:

    https://www.vivoidiomas.es/wp-content/uploads/2018/07/Seguro-Cancelación-VivoIdiomas.pdf

    with options:
    * _blank
    * Title

    construct a URL like:

    https://www.vivoidiomas.es/wp-content/uploads/2018/07/Seguro-Cancelación-VivoIdiomas.pdftitle=“Seguro
    or
    https://www.vivoidiomas.es/wp-content/uploads/2018/07/Seguro-Cancelación-VivoIdiomas.pdftarget=“_blank”rel=”noopener

    and product error 404 in this URLs

    Thanks

  54. Brandon says:

    How can I get this to work with latest NinjaForms and pull data from my own custom utm “utm_adcode”? I know NinjaForms 3 now allows for pulling a UTM via {querystring:utm_adcode} in the default value if that helps.

  55. Nazrin Noorzan says:

    Based on 3. Hassle Free Implementation (No Shortcode) , do the input class need to only contain that particular class in order for it to work and also does the input type need to be set to hidden?

    Because I’m using wpforms, and I used jquery to target the specific input id that currently contain a class called “wpforms-field-large”, and add a new class called “utm_source”. And the input type is equal to “text” since there is no option to make it “hidden”.

    Then I tried to fill the form without filling in the “utm_source” field, but when I received the e-mail, it’s just showing blank.

    • Haktan Suren Haktan Suren says:

      1. As long as one of the class for the element is utm_source, it will work.
      2. No, the type can be both text or hidden.

      Where did you implement this? Would you mind sharing a link so I can check?

  56. […] 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 […]

  57. Jon says:

    Just wanted to say thanks for the plugin and all the support to others which in turn helped me…. after a long day tinkering and trying complimentary WP plugins I finally have a working setup..

    My Contact Form 7 Form can now pass the UTM data (from bing ads) to Zoho CRM to do tracking with…

    A mixture of your plugin..

    Plus two other free plugins:

    ‘Contact From 7 Dynamic Text Extension

    To create the hidden fields for the various line items (campaign, keyword etc).
    i.e.
    [dynamichidden utm_campaign “utm_campaign”]

    Plus WP Plugin: Zoho CRM Lead Magnet’ which Allows you to use Contact Form 7 forms instead of their own uglier ones, and assign fields so it aligns with those setup on the CRM.

    I’m still struggling to get the Gclid setup working, as Zoho’s guide for this is a little vague when it comes to 3rd party forms.

    Again many thanks.

    • Haktan Suren Haktan Suren says:

      Hi Jon, Thanks for the feedback! Very well appreciated.

      As for gclid, it should work the same as other UTM params. What is the problem you are having exactly?

      • Jon says:

        Hi Haktan, thanks for asking, I’m still struggling with sending Gclid to Zoho.

        Though this probably falls outside the scope of your plugin. Though if you have any insight that would be amazing.

        Instead of using ‘WP Plugin: Zoho CRM Lead Magnet’, to send on the fields to Zoho CRM. I’m now a very similar but paid option ‘WP Plugin: Contact Form 7 – ZOHO CRM Integration’. This at least shows the field for GCLID (that Zoho automatically creates along with other google adword fields, when you link Zoho CRM to your Adwords account).

        I can successfully grab Gclid information that your plugin obtains, and pass to a hidden dynamic field using the code:

        [dynamichidden GCLID “gclid”]

        *I’m using the test url : www. mydomain .com /?gclid=test

        When I assign this data to a different text field at Zoho CRM via the plugin mentioned above it appears fine. i.e. if I assign it to a Twitter field I can see the data in my lead file.

        However if I assign it the Gclid field Zoho CRM, no data comes through.

        Zoho’s support on this is pretty lacking, as they don’t seem to help with API issues or understandably 3rd party plugins.

        I’m trying to use your plugin to send the Google Adwords info ‘Gclid’ to Zoho CRM.

        I’ve got the hidden field ‘gclid’ working with the correct data being collected in the form.

        I’m using a test URL rather than clicking a Google Ads.
        domain.com/?gclid=test

        I need to send this to the GCLID field on Zoho CRM

        If I assign it to a different text field (using your plugin) in a lead at Zoho CRM ie. to ‘Twitter’ the info arrives successfully and is visible in the Zoho lead file. Along with other fields like name, email etc.

        However, if I assign it to the correct ‘field ‘GCLID’, it does not appear.

        The Gclid field (and other google adword fields) in Zoho CRM are locked.

        The only Zoho support forum post I can see that may be slightly helpful is this:
        https://help.zoho.com/portal/community/topic/crm-api-v2-adwords-gclid-parameter

        Though the coding is way over my head.

        Thanks for any help on this… though I appreciate your plugin is doing what it is supposed to.

  58. nik says:

    Hi Haktan,

    Great plugin! I’m trying the new “Append UTM variables” and the URL parameters get appended everywhere except the top menu. LOL.. Any thoughts?

    Thanks
    Nik

  59. Nik says:

    Hi Haktan,

    Thanks for the reply. The site is: http://www.anthonymeindl.com

    Thanks again!
    N

  60. Ivan Dimitrov says:

    Hi, I am using Elementor and am having the same issue as above – the UTM are passed to all links except the top menu. Here’s the site – fantasticstay.com
    Any idea how can I solve this. I tried just manually adding them (append to the url ?utm_source=[utm_source] but it does not capture them, just get the same at the end. Any ideas?

  61. ibrahim ghandour says:

    Hi, do you do this grabber for drupal as well?

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 ...