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_source string, while discarding the other utm_* strings.
  • 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.

Related Topics

Pagely is the Managed WordPress Hosting Platform designed to exceed the needs of media, business, and Enterprise customers alike. We help the world's biggest brands scale WordPress.

Copyright © 2006-2016 Pagely, Inc. All rights reserved.
Pagely® and WordPress® are registered trademarks.

Pagely
Powered by Zendesk