<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:base="https://rexgrowth.com/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    
    <title>Ideas from Trevor | RexGrowth.com</title>
    <link>https://rexgrowth.com/</link>
    <atom:link href="https://rexgrowth.com/blog/feed.xml" rel="self" type="application/rss+xml" />
    <description>Growth marketing ideas from Trevor Merz.</description>
    <language>en</language>
    <item>
      <title>Why server-side tracking is more stable than client-side in 2026</title>
      <link>https://rexgrowth.com/blog/server-side-tracking-2026/</link><description>&lt;p&gt;If your ad platforms report fewer conversions than your backend, you&#39;re not imagining it. For most advertisers, the browser pixel is no longer a reliable way to measure what happened after someone clicked an ad.&lt;/p&gt;
&lt;p&gt;The fix isn&#39;t another tag. It&#39;s moving the important events off the browser and onto your server. Here&#39;s why server-to-server (S2S) tracking is the more stable choice in 2026, and what it takes to do it well.&lt;/p&gt;
&lt;h2&gt;What &amp;quot;client-side&amp;quot; and &amp;quot;server-side&amp;quot; actually mean&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Client-side tracking&lt;/strong&gt; is the classic setup: a JavaScript pixel (Meta Pixel, Google tag, TikTok Pixel) runs in the visitor&#39;s browser and sends events straight to the ad platform.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Server-side tracking&lt;/strong&gt; sends those same events from a server you control. It can be your backend, your ecommerce platform, a server-side Google Tag Manager container, or your mobile measurement partner. The browser can still collect the data, but delivery to the ad platforms happens server to server.&lt;/p&gt;
&lt;p&gt;The difference sounds technical, but it decides whether your conversions arrive at all.&lt;/p&gt;
&lt;h2&gt;Why browser pixels keep losing signal&lt;/h2&gt;
&lt;p&gt;Nothing broke overnight. Client-side tracking has been eroding for years, from several directions at once:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Ad and tracker blockers.&lt;/strong&gt; Browser extensions, privacy-focused browsers and network-level blockers stop requests to well-known tracking domains before they ever leave the device.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Safari and Firefox tracking protection.&lt;/strong&gt; Safari&#39;s Intelligent Tracking Prevention limits how long script-set cookies last, so a visitor who converts a week after clicking can look like a brand new user. Firefox blocks known trackers by default.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Stripped click IDs.&lt;/strong&gt; Apple&#39;s Link Tracking Protection removes identifiers like &lt;code&gt;gclid&lt;/code&gt; and &lt;code&gt;fbclid&lt;/code&gt; from links in some contexts, such as Mail, Messages and private browsing. Without the click ID, the platform can&#39;t tie the conversion back to the ad.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Consent banners.&lt;/strong&gt; In regions with consent requirements, many visitors decline or ignore the banner, and the pixel correctly doesn&#39;t fire.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fragile pages.&lt;/strong&gt; Pixels depend on the page loading completely. A slow checkout, a single-page app that doesn&#39;t fire events on route changes, or a redirect to a third-party payment page can all drop the conversion.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A note on Chrome: Google ultimately decided not to remove third-party cookies from Chrome. That doesn&#39;t rescue the pixel, though, because none of the problems above depend on Chrome&#39;s cookie policy.&lt;/p&gt;
&lt;h2&gt;Why server-to-server is more stable&lt;/h2&gt;
&lt;h3&gt;You send the event from where the truth lives&lt;/h3&gt;
&lt;p&gt;Your backend knows for certain that an order was placed, a lead was qualified or a subscription renewed. Sending that event from the server means you&#39;re reporting what actually happened, not what a script managed to observe before the tab closed.&lt;/p&gt;
&lt;h3&gt;Blockers and page problems stop mattering&lt;/h3&gt;
&lt;p&gt;A server-to-server request doesn&#39;t run in the visitor&#39;s browser, so extensions and page-load issues can&#39;t interfere with it. Conversions that happen off-site or later, like a phone sale, an approved loan or a renewal, can be sent too.&lt;/p&gt;
&lt;h3&gt;Better matching, without third-party cookies&lt;/h3&gt;
&lt;p&gt;Server-side APIs let you send first-party data the platform can match on, such as a hashed email or phone number plus the click ID you stored when the visitor landed. Meta&#39;s Conversions API, Google&#39;s enhanced conversions and TikTok&#39;s Events API all work this way. Better matching means more conversions get attributed to the right campaign, which gives the bidding algorithms better data to optimize on.&lt;/p&gt;
&lt;h3&gt;Longer-lived first-party identifiers&lt;/h3&gt;
&lt;p&gt;When your own server sets the first-party cookie through an HTTP response, it&#39;s generally treated more favorably than a cookie written by a third-party script. This only holds if the tracking endpoint is genuinely part of your site&#39;s infrastructure, though. Safari also shortens cookies served from infrastructure that doesn&#39;t match your main site.&lt;/p&gt;
&lt;h3&gt;You control what gets shared&lt;/h3&gt;
&lt;p&gt;Everything passes through your server first, so you decide which fields go to which platform. You can strip personal data you don&#39;t need, enforce consent in one place and keep a log of what was sent. That&#39;s easier to audit than a dozen scripts on the page.&lt;/p&gt;
&lt;p&gt;[Trevor: add a short, real example here. For instance, what you saw when a client moved from pixel-only to pixel plus Conversions API, and how it changed their reported conversions or CPA.]&lt;/p&gt;
&lt;h2&gt;What server-side tracking doesn&#39;t fix&lt;/h2&gt;
&lt;p&gt;Server-side isn&#39;t a loophole, and it&#39;s worth being clear about the limits:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Consent still applies.&lt;/strong&gt; If a user opts out, server-side tracking must respect that choice. Pass the consent state along with every event, and use Google&#39;s Consent Mode where it applies.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;It doesn&#39;t restore iOS app tracking.&lt;/strong&gt; For apps, Apple&#39;s App Tracking Transparency and privacy-first attribution (SKAdNetwork and AdAttributionKit) still set the rules. Server-side postbacks through your MMP are how you work within those rules, not around them.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;It takes engineering.&lt;/strong&gt; You need clean event data, correct hashing and normalization of emails and phone numbers, and someone to maintain it. A server-side GTM container also has hosting costs.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;How to set it up without breaking anything&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Start with the conversions you optimize on.&lt;/strong&gt; Purchase, lead, sign-up or subscription. Don&#39;t try to move every page view on day one.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Run hybrid, not either/or.&lt;/strong&gt; Keep the browser pixel and add the server event alongside it. Send the same event ID from both so the platform can deduplicate. This is what Meta and Google recommend.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Capture click IDs on landing.&lt;/strong&gt; Store &lt;code&gt;gclid&lt;/code&gt;, &lt;code&gt;fbclid&lt;/code&gt; and similar parameters in a first-party cookie or your database when the visitor arrives, so the server can include them later.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Send hashed first-party data.&lt;/strong&gt; Normalize emails and phone numbers (lowercase, trimmed, with country code for phones), hash them with SHA-256 and include them with each event.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pass consent with every event,&lt;/strong&gt; and don&#39;t send what the user hasn&#39;t agreed to.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Check match quality and compare with your backend.&lt;/strong&gt; Meta&#39;s Event Match Quality score and Google&#39;s diagnostics show whether the data is landing properly. Your source of truth is your own order or CRM data. Compare against it weekly for the first month.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;The bottom line&lt;/h2&gt;
&lt;p&gt;Client-side pixels were built for a web that doesn&#39;t exist anymore. Server-to-server tracking gives ad platforms fewer, cleaner and more complete signals, and in an era of automated bidding that&#39;s what drives performance. Treat it as core infrastructure, not an optional add-on.&lt;/p&gt;
&lt;p&gt;If you&#39;re not sure how much signal you&#39;re losing today, a tracking audit is a good place to start. &lt;a href=&quot;https://calendly.com/growth-marketing-consultant&quot;&gt;Book a free intro call&lt;/a&gt; and we&#39;ll look at it together.&lt;/p&gt;
</description><pubDate>Mon, 28 Sep 2026 00:00:00 +0000</pubDate>
      <dc:creator>Trevor Merz</dc:creator>
      <guid>https://rexgrowth.com/blog/server-side-tracking-2026/</guid>
    </item>
  </channel>
</rss>