How We Upgraded BFJ’s Tracking & Performance Architecture for the Next Decade of Marketing

Keep ahead of the curve via our latest trends newsletter.
Contact us nowNow this is going to get pretty techincal, and geeky but it's important and how we're delivering for our clients to deliver the best in market tracking.
Most businesses treat tracking as a support function.
At BFJ, it’s part of our competitive advantage and the first thing we'll ask about - how do you measure performance.
We recently completed a major upgrade to our tracking, attribution, built our own cooking, and performance architecture — not because something was wrong, but because the standards for high-performance digital businesses have changed dramatically. Privacy frameworks, signal loss, cross-device behaviour, and offline conversion paths now demand a different level of precision.
We decided to build for that world.
Below is an overview of what we deployed and why it matters for how we operate, how we report, and how we grow.
1. A Unified First-Party Event Framework
Instead of scattering logic across multiple platforms, we centralised our behaviour signals into a single first-party event layer.
This means:
- All platforms receive consistent, clean, deduplicated data
- Every downstream system interprets intent the same way
- We can map online behaviour to offline revenue with far more accuracy
- Machine-learning bidding systems get stronger, more predictable inputs
This reduces attribution drift and builds a foundation that will keep working as browsers, OS-level restrictions, and advertising APIs evolve.
This is built for scale, not patchwork.
2. The Edge Now Does the Heavy Lifting
We transitioned critical pixels, scripts and tracking logic to run via Cloudflare’s global edge, which delivers 3 major advantages:
Speed
Pages are served from the closest possible location, with dramatically lower TTFB.
That directly improves user experience, lowers acquisition costs, and increases conversion rates — especially on mobile.
Signal Strength
Edge-executed tracking ensures key interactions are captured reliably even under modern privacy constraints.
Fast loading + resilient data = stronger attribution and more efficient media spend.
Accuracy
Server side tracking has been a buzz word, and tech we've used for years, this latest rebuild takes us a step further - better attribution without the bloat. Direct traffic, sure we'll see it, but it will be dramatically reduced.
3. A Purpose-Built Headless Frontend
Our headless architecture (Payload CMS + a lean frontend) is now fully aligned with the updated performance stack.
This matters because headless:
- ships smaller, faster assets
- allows fine-grained control of what loads and when
- is naturally compatible with edge caching & edge analytics
- gives us the flexibility to evolve without locking into legacy code
The tracking and headless layers now reinforce each other, rather than working independently.
The result is a site that is:
faster, lighter, more modular, easier to cache, and easier to optimise over time.
4. Offline Revenue Attribution, Upgraded
For a performance agency with long sales cycles and mixed offline/online touch points, this is the biggest commercial win.
Because our signals are now unified, we can:
- match form, chat, phone, and engagement moments with CRM outcomes
- back-attribute revenue to the channels and campaigns that initiated the journey
- measure multi-step buying behaviour with far less noise
- correctly weight contribution across platforms
- feed the right conversions back into Google Ads and Meta
This is the difference between tracking clicks and understanding revenue.
It lets us confidently scale channels that would otherwise look undervalued in simple last-click reporting.

5. Cleaner Infrastructure = Better Optimisation
With redundant scripts removed and essential logic streamlined, every system in the stack can now operate with:
- fewer conflicts
- less JavaScript execution
- more predictable sequencing
- lower main-thread blocking
- more consistent event firing
- better compatibility with caching strategies
This isn’t just “tidy code.”
It materially increases the effectiveness of paid media algorithms, reduces page abandonment, and improves the reliability of our data.
6. The New Architecture (High-Level View)
Event Layer → Edge Layer → Analytics + Ads → CRM → Revenue
A tight pipeline.
No duplication.
No competing definitions.
No unnecessary browser bloat.
Everything routes cleanly through BFJ’s first-party data model.
This future-proofs us in a world where platforms share less, browsers allow less, and revenue attribution matters more.

7. Why This Upgrade Matters for BFJ & Our Clients
Because modern marketing demands:
- faster loading sites
- resilient tracking
- unified data
- predictable signals
- privacy-aligned instrumentation
- and the ability to link digital activity to actual revenue
What we’ve built is not “nice to have” — it’s the foundational architecture required for the next 5+ years of digital marketing.
And we now operate on an infrastructure most agencies simply don’t have.
8. The BFJ Cookie: A Smarter Way to Track Real Customer Journeys
Modern attribution breaks easily, so we built the BFJ first-party cookie to keep customer journeys intact even when platforms, devices, and browsers don’t.
- It acts as a stable identity anchor, preserving only the essential data needed for reliable tracking across visits, forms, chat, and return sessions.
- This strengthens our attribution layer, reduces data loss between platforms, and makes offline revenue matching far more dependable.
- The cookie is intentionally minimal and privacy-aligned — no personal data, no fingerprinting, no excess session storage.
- The result is a clean, durable way to maintain continuity in a marketing environment where continuity is disappearing.

9. The BFJ UTM Stripper: Cleaner URLs, Better Attribution, Zero Clutter
Another issue we eliminated was URL pollution. When visitors arrive through ads, emails, or social campaigns, they bring UTMs with them — which is good. But when they share pages, bookmark content, or return organically, those UTMs trail along and contaminate attribution, making organic look like paid and paid look like everything else.
To fix this, we built a UTM stripper that does one simple thing extremely well: it preserves campaign parameters just long enough for our tracking layer to capture them, then cleans the URL automatically. Users don’t see messy query strings, and our analytics aren’t distorted by campaign data that should’ve expired.
It’s a small feature with a big impact. Clean URLs mean:
- clearer attribution
- fewer misattributed sessions
- better SEO signals
- more accurate multi-touch modelling
- no accidental overwriting of sources
And combined with the BFJ cookie, it gives us a tight, reliable understanding of where users truly come from — not just where they happened to click last.
10. BFJ Tracking & Performance Architecture — Summary Table
Component | Purpose | What It Solves | Commercial Impact |
|---|---|---|---|
BFJ First-Party Cookie | Maintain a stable, privacy-aligned identity across sessions | Browsers dropping cookies, cross-device loss, inconsistent attribution | More reliable attribution + accurate revenue matching |
BFJ UTM Stripper | Clean URLs after capturing campaign data | UTM pollution, misattributed sessions, SEO clutter | Clearer channel reporting + more honest source contribution |
Unified Event Framework | Standardise intent signals into a clean structure | Platform mismatches, duplicate events, noise | Stronger optimisation signals for Meta, Google, LinkedIn |
GTM Rebuild (Lightweight Dispatcher) | GTM handles logic only, not pixels | Script bloat, long JS execution times, double firing | Faster page loads + cleaner data layer |
Zaraz Pixel Consolidation | Fire critical pixels at the edge (Meta, LinkedIn, Reddit) | Browser blocking, inconsistent client-side tracking | Higher match rates + more resilient tracking |
HubSpot Edge Loading | Deliver HubSpot script via Cloudflare rather than GTM | Heavy JS blocking, slow load, hydration delays | Faster interaction-ready state + smoother UX |
Cloudflare Edge HTML Caching | Serve cached HTML globally with stale-while-revalidate | 1.7s+ TTFB, SSR delays, origin dependency | Sub-300ms TTFB globally + stronger SEO performance |
Zaraz Trigger Layer | Centralise key interaction signals at the edge | Inconsistent firing logic, GTM sequencing issues | Stable cross-platform reporting + better attribution |
GTM → Zaraz track() Bridge | Translate client interactions into server-side events | Lost events in privacy browsers, fragmented event sources | Safer & more complete conversion data |
Conditional Pixel Loading (Hotjar, Leadfeeder) | Load certain tools only after scroll or once per session | Main-thread blocking, JS overload on entry | UX stability + reduced Lighthouse penalties |
Headless CMS Alignment (Payload) | Use a modern architecture optimised for edge caching | WP-style bloat, slow rendering paths | Higher dev velocity + better performance ceiling |
11. Update your own tracking
If you're interested in getting you tracking as best in market and improve your reporting / media performance, reach out and we'll discuss how we can improve your stack.
Ready to See the Bigger Picture?
Want to understand how your digital and real-world marketing impact each other? Not sure if your CRM is supporting your paid media efforts? Just need some clarity and a clear plan to better ROI? Book your free strategy session today for an in-depth audit and action plan to double your digital marketing ROI.
- Meet with a strategy specialist to build a growth plan
- Increase your media performance by up to 200%
- Improve business efficiencies to increase ROI via automation and increase profit
- We cut to the chase. What digital marketing is actually working?
