When trying to grow your online business, it can often be helpful to have data outlining how exactly visitors are reaching a page on your site. Understanding where visitors come from can help determine whether your Facebook advertising campaign is actually driving customers to your site, or how many clicks your latest email marketing blast has generated.
Enter UTM codes. In this article we’ll discuss what they are, how they can affect site performance, and what Flywheel does to ensure your pages remain speedy when they are used.
This data can be gathered through the use of Urchin Tracking Module Codes (or “UTM” for short). The name derives from Urchin Tracker, the precursor to Google Analytics. These codes are added to the end of a URL to track the performance of digital marketing efforts. If you have ever clicked a link in an email prompting you to check out a “new sale” or to “sign up for an account”, this interaction was likely tracked via UTM codes.
UTM codes are implemented via variables that are added to the end of URLs. Here is a basic example:
getflywheel.com/?utm_campaign=email
The UTM code is formatted as a query string, so it will begin with a “?”. Multiple UTM codes can be strung together with the “&” symbol. For example:
getflywheel.com/?utm_campaign=blackfridaysale&utm_medium=social&utm_source=facebook
Since UTM codes modify a page’s URL, this could potentially result in a “cache miss”, forcing the page to render uniquely. This uses up server resources, and results in a slower page load, even if the base URL is cached. Due to their usage frequency and standard formatting, Flywheel automatically accommodates for this list of UTM prefixes on our Cloud platform to retain the benefits of caching. This is commonly referred to as “UTM Sanitization”:
This means pages using the UTM prefixes above will still be cached! Luckily, since Google Analytics processes these tracking codes via javascript on the front-end, it will not be prevented from tracking these UTM codes. Nice!
Beyond tracking, UTM codes could also be used to pass additional variables to the site to provide unique content to visitors. This is sometimes configured by passing the UTM codes to be parsed by the PHP layer, which necessitates a cache bypass.
In other words, if your site needs to pass UTM parameters to PHP in order to serve unique content, your site will be unable to cache. This will result in degraded site performance, so we recommend against the use of PHP to handle UTM parameters for any reason. Instead, we recommend only handling UTM parameters at the Javascript level, which can still be served from the caching layer.
If you have any questions our Happiness Engineers are here to help!
New to Flywheel? Start here, we've got all the information you'll need to get started and launch your first site!
View allLearn all about managing your Flywheel user account, Teams and integrations.
View allFlywheel hosting plans include a ton of great features. Learn about how to get a free SSL certificate, set up a staging site, and more!
View allAll the server and setting info you'll need to help you get the most out of your Flywheel hosting plan!
View allTips and tricks for managing your sites on Flywheel, including going live, troubleshooting issues and migrating or cloning sites.
View allLearn more about Growth Suite, our all-in-one solution for freelancers and agencies to grow more quickly and predictably.
Getting started with Growth Suite
Growth Suite: What are invoice statuses?
Growth Suite: What do client emails look like?
Learn more about Managed Plugin Updates, and how you can keep your sites up to date, and extra safe.
Restoring Plugin and Theme Management on Flywheel
Managed Plugin Updates: Database upgrades
Managed Plugin Updates: Pause plugin updates
We can help! Check out our Brand Resources page for links to all of our brand assets.
Brand Resources