There is no UTM collected
HandL UTM Grabber works well with cache enabled websites. In most of the cases, you do not need to any server-side adjustments. Because our plugin leverages tracking client-side. However, if you feel that the tracking is not working, please do the appropriate steps based on your setup and server configuration.
- WP Engine is my webhost
- I have WP Rocket installed
- Common Troubleshooting Tips
- I am with FlyWheel
- I have SiteGround (SG) installed
- I'm hosting with Pair
- I'm hosting with Pantheon
- I'm using CloudFlare (CF)
- I'm using HummingBird WP plugin
- Kinsta is my webhost
- I use WP Super Cache
- I'm using W3 Total Cache
- I'm on CloudFront
- I'm using LiteSpeed caching plugin
- I've NitroPack plugin
- I'm hosted on CloudWays
- I'm using WP Fastest Cache
- I'm using Wordfence
- I've WP Optimize
WP Engine is my webhost
If you are on WP Engine, you need to contact WP Engine support and let them know that you want to whitelist the following QUERY ARGS & COOKIES to prevent caching.
utm_campaign
utm_source
utm_term
utm_medium
utm_content
gclid
first_utm_campaign
first_utm_source
first_utm_term
first_utm_medium
first_utm_content
handl_original_ref
handl_landing_page
handl_ip
handl_ref
handl_url
organic_source
gaclientid
//and all the custom parameters created by you
QUERY ARGS
utm_campaign
utm_source
utm_term
utm_medium
utm_content
gclid
//and all the custom queries you are capturing
Usually, this process takes couple of hours to complete. Hoever, you may want to wait longer for changes to completely take effect.
Still having problems? Let us know, clicking the chat bubble at the bottom right of the page.
I have WP Rocket installed
Before whitelisting the following COOKIES, please make sure to remove UTM query strings from our ignore list. And then continue with the following. You can do this by installing and activating the following small plugin.
If you have WP Rocket installed, you need to go to "Advanced Rules" and put the following entries under "Never Cache Cookies" section.
utm_campaign
utm_source
utm_term
utm_medium
utm_content
gclid
first_utm_campaign
first_utm_source
first_utm_term
first_utm_medium
first_utm_content
handl_original_ref
handl_landing_page
handl_ip
handl_ref
handl_url
organic_source
gaclientid
After this is implemented, make sure you start with a clean cache (incognito preferred) or hard refresh your browser and test again. It should work.
Still having problems? Let us know, clicking the chat bubble at the bottom right of the page.
Common Troubleshooting Tips
Check whether request is returned from cache
Visit your website making sure UTMs are appended to the URL. Open up the developer console and navigate to "Network" tab and select the page request (usually at the top) and Select "Headers" in the right panel. Check the cache related headers, if your server does not have any cache you should see "Cache-Control: max-age=0, no-cache, s-maxage=10"
If there is cache, you should see something like "if-modified-since" or other cache related headers.
This will tell you whether caching is coming from server side (Varnish, CloudFlare) or WordPress site (such as WP Rocket, WP Super Cache etc). Your solution will vary depending on where the cache is coming from. You can whitelist the cookie paramters or/and query arguments used in HandL UTM Grabber V3 or you may have to add the page in the exclusion page altogether.
I am with FlyWheel
If you are on FlyWheel, you need to contact FlyWheel support and let them know that you want to whitelist the following QUERY ARGS & COOKIES to prevent caching.
utm_campaign
utm_source
utm_term
utm_medium
utm_content
gclid
first_utm_campaign
first_utm_source
first_utm_term
first_utm_medium
first_utm_content
handl_original_ref
handl_landing_page
handl_ip
handl_ref
handl_url
organic_source
gaclientid
//and all the custom parameters created by you
QUERY ARGS
utm_campaign
utm_source
utm_term
utm_medium
utm_content
gclid
//and all the custom queries you are capturing
Usually, this process takes couple of hours to complete. Hoever, you may want to wait longer for changes to completely take effect.
Still having problems? Let us know, clicking the chat bubble at the bottom right of the page.
I have SiteGround (SG) installed
I'm hosting with Pair
I'm hosting with Pantheon
I'm using CloudFlare (CF)
Make sure the caching level is set as "Standard" shown in the image below
I'm using HummingBird WP plugin
Make sure "Cache URL queries" turned off
end exclude the following COOKIES and all the custom parameters created by you.
utm_campaign
utm_source
utm_term
utm_medium
utm_content
gclid
first_utm_campaign
first_utm_source
first_utm_term
first_utm_medium
first_utm_content
handl_original_ref
handl_landing_page
handl_ip
handl_ref
handl_url
organic_source
gaclientid
//and all the custom parameters created by you
Kinsta is my webhost
If you are on Kinsta, you need to contact Kinsta support and let them know that you want to whitelist the following QUERY ARGS & COOKIES to prevent caching.
utm_campaign
utm_source
utm_term
utm_medium
utm_content
gclid
first_utm_campaign
first_utm_source
first_utm_term
first_utm_medium
first_utm_content
handl_original_ref
handl_landing_page
handl_ip
handl_ref
handl_url
organic_source
gaclientid
HandLtestDomainName
//and all the custom parameters created by you
QUERY ARGS
utm_campaign
utm_source
utm_term
utm_medium
utm_content
gclid
//and all the custom queries you are capturing
Usually, this process takes couple of hours to complete. Hoever, you may want to wait longer for changes to completely take effect.
Still having problems? Let us know, clicking the chat bubble at the bottom right of the page.
Customer Provided Feedback
"I have found that the guide you have about Kinsta and the custom cache rules where we need to ask Kinsta to implement specific rules to let Handl work, are not enough. I'm sharing with you a screenshot from the Kinsta dashboard which shows that Kinsta Edge Caching (saving HTML on Cloudflare Edge PoPs) is not compatible with custom cache rules, and thus Handl customers with Kinsta should also turn off Edge Caching. It's logical since Handl rewrites HTML based on query parameters and custom cookies and the HTML in Cloudflare edge are static and not even triggering the HandL plugin."
This feedback was provided by a customer and included in our documentation as is.
I use WP Super Cache
There is known caching issues with WP Super Cache plugin. We'll update this document as we have more information. In the mean time, you can try the adding the following code in your functions.php
function handl_add_wpsc_cookie_banner() {
do_action( 'wpsc_add_cookie', 'utm_campaign' );
do_action( 'wpsc_add_cookie', 'utm_medium' );
do_action( 'wpsc_add_cookie', 'utm_term' );
do_action( 'wpsc_add_cookie', 'utm_content' );
do_action( 'wpsc_add_cookie', 'utm_source' );
}
add_action( 'init', 'handl_add_wpsc_cookie_banner' );
I'm using W3 Total Cache
Please do the following changes in the plugin
Go to Performance > Rejected cookies and copy/paste the following text in there and save
utm_campaign
utm_source
utm_term
utm_medium
utm_content
gclid
first_utm_campaign
first_utm_source
first_utm_term
first_utm_medium
first_utm_content
handl_original_ref
handl_landing_page
handl_ip
handl_ref
handl_url
organic_source
gaclientid
It should look like this.
I'm on CloudFront
Please do the following changes in v
Create a new policy in CloudFront and attach it to your distribution.
You can include the following cookie exceptions
utm_campaign
utm_source
utm_term
utm_medium
utm_content
gclid
first_utm_campaign
first_utm_source
first_utm_term
first_utm_medium
first_utm_content
handl_original_ref
handl_landing_page
handl_ip
handl_ref
handl_url
organic_source
gaclientid
It should look like this.
I'm using LiteSpeed caching plugin
If you are using the LiteSpeed caching plugin, you should do the following settings in your WP to effectively capture UTMs.
Go to Settings
Copy the list below and add it in "Do not cache cookies" field
utm_campaign
utm_source
utm_term
utm_medium
utm_content
gclid
first_utm_campaign
first_utm_source
first_utm_term
first_utm_medium
first_utm_content
handl_original_ref
handl_landing_page
handl_ip
handl_ref
handl_url
organic_source
gaclientid
//and all the custom parameters created by you
Copy the list below and add it in "Do not cache query strings" field
QUERY ARGS
utm_campaign
utm_source
utm_term
utm_medium
utm_content
gclid
//and all the custom queries you are capturing
That's it. You are ready to go collecting UTMs :)
I've NitroPack plugin
1) Ignored parameters
Make sure "Include the default ignored parameters" is disabled.
2) Excluded Cookies (Now Obsolete, see Variation Cookies below instead)
Add the following cookies and all the custom parameters you created in "Excluded Cookies" section.
utm_campaign, utm_source, utm_term, utm_medium, utm_content, gclid, first_utm_campaign, first_utm_source, first_utm_term, first_utm_medium, first_utm_content, handl_original_ref, handl_landing_page, handl_ip, handl_ref, handl_url, organic_source, gaclientid
//and all the custom parameters created by you
2) Variation Cookies
With Excluded ones (the method above), NitroPack wouldn't generate any cache for the pages containing your cookies.
While with Variation cookie, a new optimization would be created based on the different cookie values.
Still having problems? Let us know, clicking the chat bubble at the bottom right of the page.
I'm hosted on CloudWays
You should exclude cookies from varnish cache via the Cloudways platform.
Add the following cookies in there
utm_campaign
utm_source
utm_term
utm_medium
utm_content
gclid
first_utm_campaign
first_utm_source
first_utm_term
first_utm_medium
first_utm_content
handl_original_ref
handl_landing_page
handl_ip
handl_ref
handl_url
organic_source
gaclientid
//and all the custom parameters created by you
I'm using WP Fastest Cache
Exclude COOKIES
In order for HandL UTM Grabber to work more efficiently, you may want to whitelist some of the COOKIES our plugin uses so they are not cached.
You can do so very easily following the steps
- Go to the settings for the WP Fastest Cache plugin
- Click on the “Exclude” tab.
- Click the "Add New Rule" button associated with "Exclude Cookies"
- Type the cookie name you use from Native WP Shortcodes in the text box.
- Click "Save".
I'm using Wordfence
Wordfence has a feature called Live Traffic that serves an extra blank pageview to every new(?) visitor to check if they are a bot or real traffic.It is reported by our clients that HandL UTM Grabber must have been picking up the wordfence pageview as the first pageview as handl_url
.
Proposed Solution: Turn off Live Traffic (switched from ALL to Security Only)
https://www.wordfence.com/help/tools/live-traffic/#traffic-logging-mode
I've WP Optimize
Add these thhree lines of code under Cookies which, if present, will prevent caching (one per line)
utm_* handl_* HandLtestDomainName