UTM variables and caching
Last Updated -
Pagely’s webserver stack is configured to strip
utm_* strings out of NGINX and PHP to optimize performance.
NGINX's caching layer uses the URL as a cache key, meaning URLS containing slightly different
utm_* strings for otherwise identical content will not hit the built in NGINX cache. This will impact performance on a high traffic site and it is not recommended to override this setting. UTM settings can only be modified on our VPS hosting plans.
There are a few degrees to which this setting can be modified:
- Configure NGINX to keep the
utm_sourcestring, while discarding the other
- Configure NGINX to keep all
utm_*strings. Both this and the first option would assist with preserving the full URL within the context of NGINX.
- In addition to one of the above, the
utm_strings can be configured to be passed to PHP as well.
If you are intending to pass
utm_* strings to PHP, you should reconsider this approach. This will severely impact performance since every page containing
utm_* in the URL will be a dynamic load, virtually eliminating any of the benefits from NGINX's caching layer and stressing your server's PHP workers. You will run into performance problems if we switch that on. UTM strings are not intended to be parsed by PHP scripts. If you want to track your user activity we recommend using Google Analytics, which lets you do this without impacting performance at all.
If we get specifics of what you are using the
utm_* strings for, we'd be able to make a more specific recommendation that may not degrade overall site performance.