Tymoteusz Motylewski
4y ago
Founder and CTO of Macopedia - a 100% bootstrapped web agency. Writing about e-commerce, challenges of digital transformation, and software development.
Adding individual tracking codes to newsletter links caused a 3x lower conversion rate.
The customer has reported that his recent newsletter had a big drop in conversion rate in comparison to the previous one.
After checking the performance monitoring tool it became clear that the conversion drop was a result of the landing page being very slow. I knew we had a Varnish Cache in front of the e-commerce so I expected the landing page to appear super fast, in a matter of milliseconds.
Unfortunately, individual tracing codes prevented Varnish from returning the cached version of a page and forced e-commerce to render the landing page again and again for every newsletter user. Varnish is caching pages based on the URL - different parameter in URL means separate cache entry.
As a solution, we've configured varnish to ignore common tracking parameters
Tracking codes are most often used only from the frontend/JavaScript side and they don't influence the page content. This means that they can be ignored/stripped from the URL before Varnish passes the request to e-commerce. And as a result, Varnish delivers a cached landing page for all newsletter recipients in a few milliseconds.
Lessons learned
be careful when enabling individual tracking codes in campaign links they can cause the landing page to be slow
when using a reverse proxy cache like Varnish, or CDN make sure to ignore common tracking codes from the URL (like utm_medium, gclid, fbclid, pk_campaign) for caching purposes. This will increase the cache hit rate, and make many customers get pages faster
monitor the performance of the e-commerce and business metrics like conversion, to detect issues as soon as they appear