Key takeaways
Christopher Nolan just made the biggest movie of the year about signal loss. Here's what Odysseus can teach you about the complexities of getting data from one place to another.
Like everyone else with access to an IMAX screen, I went to the movies to watch Matt Damon spend ten years trying to deliver one extremely important payload to a single endpoint while every force in the known universe tried to block, strip, delay, or devour it in transit.
Most know it is called The Odyssey but I'm calling it the most expensive-ever explanation of why server-side tagging is important.
Because that's the movie. A hero, think of him as a conversion event, fires at the fall of Troy and tries to make it home to Ithaca, where he's actually useful. Between origin and destination: monsters, witches, storms, blockers, identity loss, and lots and lots of latency. If you've ever compared your marketing platform numbers to your CRM and felt your soul leave your body, you understand this film on a level the general audience would not.
So yeah, your data is Odysseus. The browser is the sea. And a lot of your hits never make it home, we've just been calling that "expected discrepancy" for ten years. Poor little data soldiers.
(Spoiler policy: I feel like I have the license to spoil a 2,800-year-old poem at my will but I will flag the one place Nolan goes off-book. You've been warned by the gods.)
It's launch day! You set up your pixel! Tag Assistant glowing green, the dataLayer pushing like a dream, high-fives in the Slack channel. You won the Trojan war! The city fell. The campaign launched.
But the entire premise of the story, the reason it exists, is that winning the war and getting home are two different problems. Implementation is the war. Data actually arriving somewhere it can drive decisions? That's the voyage. It's longer, it's weirder, and the sea has gotten meaningfully more hostile every year since 2017: Intelligent Tracking Prevention (ITP), mainstream ad blockers, consent frameworks, browser storage caps. Each one a new storm making the journey to the destination super complex.
Yes, we won the war but dang this is a funky road ahead.
We're off to the races! Thank goodness. We're on our way home! Time to check the data. OH NO IT'S A CYCLOPS. The monster at the center of both the film and your attribution problem.
Odysseus and his crew shelter in a cave. The cave belongs to Polyphemus, enormous, indifferent, and operating on a schedule. He rolls a boulder across the entrance and starts eating sailors methodically, like it's a job. He's not evil, exactly. He's just doing what he does.
This is Safari's ITP, and your cookies are the crew.
ITP doesn't hate you personally. It caps JavaScript-set cookies at seven days, twenty-four hours in plenty of scenarios and then gobble-gobble, the cookie holding your user's identity gets eaten. Your user comes back on day eight and your analytics greets them like a stranger. Returning visitors are reborn as new users. Attribution dead.
Cue server-side to slip out unnoticed. Cookies set in an HTTP response from your own first-party infrastructure, which is exactly what a server-side GTM setup on your own domain does, live outside the blast radius of script-writable storage limits. Lifetime you control. HttpOnly if you want it. You escape the cave intact. YOU ARE ODYSSEUS, AND YOU WILL MAKE IT HOME.
The Sirens (the client-side listener's) song goes like this:
"No dev ticket required." "Just add a trigger." "It's working in preview mode riiiight now."
OHHHH how beautiful?!?. Magical. I WANT IT. I WANT IT NOW….
Wait!!?!?!? Don't get sucked in!
Dear reader, I have steered into those rocks. I wrote a whole separate article about form tracking failures because of how many wrecks it's caused. Auto-event listeners are genuinely seductive - instant, demo-friendly, zero conversations with engineering required.
Then the form gets rebuilt in React. The submit event stops working. Your listener doesn't error, that would be merciful, it just gets pulled off of the ship and dies, and you find out six weeks later when sales asks why leads "fell off a cliff" in a month when leads did no such thing.
Odysseus survives the Sirens by being tied to the mast, able to hear the song, unable to act on it. Your mast is server-side collection for anything revenue-critical: webhooks fired when the form platform actually processes a submission, Measurement Protocol events confirmed against what the CRM received. Collection based on what happened, not what a browser script overheard before the DOM changed.
And note what the mast actually is: not a restriction, the thing that lets you hear the music and live. Keep client-side listeners for low-stakes enrichment. The mast is the guarantee that when revenue is on the line, the data makes it through the noise.
Server-side tagging gets pitched dishonestly all the time, and I'd rather lose the sale than lie to you in Homeric metaphor.
So, here's a choice: Scylla on one side, a six-headed monster guaranteed to snatch six sailors off the deck. Charybdis on the other, a whirlpool that swallows the entire ship. There's no clever route around. The strait is the strait.
Charybdis is not abiding by consent and Scylla, a bit of data loss but the better option.
Charybdis first, because this is where the pitch goes wrong: server-side tagging is not a consent-evasion scheme. If a user declines tracking, that applies to your server container exactly as it applies to your browser. Consent state gets sent with every event to your endpoint, and your server honors it. Anyone selling sGTM as a way to "route around" consent is steering you into the whirlpool, the one that swallows ships whole and comes with lawsuits and moral degradation. That shouldn't be your data strategy. YOU ARE A HERO. HONOR YOUR MEN.
So instead you sail to Scylla. You feed some sailors to the monster: users who didn't consent. That data is lost. But you still have a whole flock of those who are measured, and you won't lose them to some arbitrary browser blocking rules. These are your soldiers who are fine being measured.
Recovering blocked-but-consented traffic is measurement. Circumventing declined consent is not. Server-side gives you the first. Don't let anyone sell you the second. Because your entire business may not survive in the process.
The suitors are kinda like your bloated GTM container that no one is maintaining. Every vendor script squatting in your browser is a suitor in the hall. Gobbling your page speed, one more request, one more script parse, a few more points off your Core Web Vitals while your CRO tests mysteriously underperform. Drinking all your data, collecting far more than needed, because client-side you can't really stop them. And the most evil behavior of all: claiming the throne. Every platform's dashboard insists it drove the conversion. Add up what your vendors self-report and you've apparently sold three times your actual revenue. The suitors are writing their own performance reviews and proposing marriage to your budget.
You know how this ends, in theaters and in your container. The king comes home and clears the hall. I'm not saying do to your marketing tags exactly what happens in the film's final act, this is a very innocent blog (no massacring and murdering your marketing pixels in here), but consolidation is the move: one clean stream from browser to your server endpoint, and your server distributes to vendors on your terms. Fewer client-side requests, faster pages. Data minimization per vendor, Meta gets what Meta needs and nothing else. Coherent attribution, because everyone drinks from the cup they're handed instead of self-reporting from their own corner of your hall.
You are the king of the house again.
The king comes in as a beggar. No trumpets, no colors. He walks into his own house disguised because he knows that the suitors would kill him at the door.
That is exactly how your tracking gets home in 2026. Served from your own subdomain through Custom Loader. To the blockers watching the door, it's indistinguishable from first-party site traffic, because it is first-party site traffic: your domain, talking to your domain.
Practically, the disguise is a first-party setup on your own domain: a subdomain like data.yoursite.com pointed at your tagging server, a Custom Loader served from it, cookies issued by it. On Stape that's a DNS record and a checkbox, considerably easier than the movie version.
In his movie telling, Odysseus is exiled. He comes home to a world that isn't his anymore. That world is gone.
Because that's where we are. The client-side era, the old world of freely readable browsers, immortal cookies, and vendor scripts with the run of the house, isn't coming back. No amount of clever workarounds restores it. The teams still waiting for things to "settle down" are standing in the ruins of Troy asking when the war economy resumes.
The winners aren't the ones mourning the old world. They're the ones who already sailed: first-party infrastructure, server-side collection, identity they own. Homecoming isn't a return to how things were. It's getting somewhere that exists today. It's an adaptation into the future.
It took Odysseus ten years to get to his destination, but with Stape, it's an afternoon.
YOU ARE THE TAGGING HERO AND YOU ARE UNSTOPPABLE.
Comments