Web & App Analytics

Every measurement system above the line — attribution, MMM, CRO, personalisation — relies on the events your sites and apps actually capture.

We rebuild that capture layer so it survives cookie loss, ATT, consent gaps, and the platform changes coming next quarter. The unglamorous foundation that makes everything else possible.

What we do

Does this sound familiar?

Symptom

GA4 still feels like a UA migration that never finished

You flipped the switch on GA4 because you had to, but the implementation was lifted-and-shifted from Universal Analytics. Goals became 'events', custom dimensions were ported half-configured, and explorations confuse the people who used to live in standard reports.

GA4 is a fundamentally different model — event-based, parameter-driven, BigQuery-native. Treating it like UA-with-new-skin is why nobody trusts the numbers and the analytics team keeps apologising in meetings.

We rebuild GA4 the way it was designed: clean event schema, custom dimensions and metrics that map to your business, exploration reports that answer real questions, and BigQuery export wired up so the data is yours to model.

>>

Diagnosis:A UA-shaped GA4 will always feel broken because the model underneath is not the same product.

PrescribedGA4 Audit & Implementation
Symptom

Your event taxonomy is undocumented chaos

Different teams instrumented different events at different times. Names are inconsistent ('purchase_complete', 'order_placed', 'Checkout'). Parameters are missing or wrong. Nobody can fully trust the analytics, and every new tag deepens the mess.

Without an enforced event taxonomy and tracking spec, every new instrumentation makes the chaos worse. Cleanup is endless because there's no source of truth — and downstream models inherit every inconsistency.

We rebuild from a documented taxonomy — naming conventions, parameter standards, schema validation in CI — so the spec stays clean as your team extends it.

>>

Diagnosis:Without a tracking spec, every new event makes yesterday's data less trustworthy, not more.

PrescribedEvent Architecture & Taxonomy Design
Symptom

Cookie loss is shredding your data

Safari ITP, Chrome's third-party deprecation, ATT, and consent banners have shredded the data you used to rely on. Conversion counts disagree across platforms. Attribution is unreliable. Paid channels are flying half-blind.

Without server-side tracking, modelled conversions, and consent-aware measurement, the data foundation for every downstream model degrades quarterly. The platforms have already moved; client-side tagging is finishing its retirement.

We rebuild the capture layer for the modern privacy environment — GTM Server-side or Stape deployments, consent-aware events, modelled conversions, and deduplicated server-to-platform sync.

>>

Diagnosis:Client-side tagging is a depreciating asset; every quarter, more of your conversions vanish into modelling.

PrescribedServer-Side Tracking (SST) Configuration
Symptom

You see what users did, not why they dropped

Your analytics shows conversion percentages by step, but doesn't tell you what users were trying to do. Funnels look broken but the friction stays invisible. CRO ends up guessing at experiments instead of testing real hypotheses.

Quantitative funnels without qualitative inputs (session replay, heatmaps, form analytics) tell half the story. The diagnosis stays a guess and the experiments stay low-leverage.

We instrument funnels end-to-end and pair them with qualitative tooling so the drop-off analysis is actionable — feeding straight into CRO and personalisation backlogs, not stuck in a dashboard nobody reads.

>>

Diagnosis:A drop-off percentage without a reason is a research brief, not a finding.

PrescribedFunnel & Drop-off Analysis
Symptom

Sessions break the moment users cross a domain

Your marketing site, ecommerce subdomain, and payment gateway each report sessions separately. A user landing from a Google Ad, browsing the product, and paying via a hosted checkout shows up as three different sessions and zero attributed conversions.

Without cross-domain stitching, the funnel you report on is a fragment of the journey — and every channel gets undervalued because the conversion lands on a referral, not the campaign that earned it.

We configure cross-domain tracking with linker parameters, server-side identity resolution, and payment-gateway return flows, so one user is one session across every property in your stack.

>>

Diagnosis:A funnel that resets at the payment gateway will always blame the wrong channel for the conversion.

PrescribedCross-Domain Tracking
Symptom

App and web are tracked as separate planets

Your web team owns GA4, your app team owns Firebase, the events don't reconcile, and the customer who browses on web and converts on app shows up as two different humans. App revenue is missing from the marketing reports; web sessions don't carry into the app journey.

Without reconciled app and web event streams, every measurement system upstream tells the wrong story — paid channels under-report mobile conversions, and personalisation can't see the full customer.

We stitch Firebase, Adjust or Appsflyer with your web stack via identity resolution, server-side mobile tracking, and warehouse-native customer tables. One customer, one journey, one truth.

>>

Diagnosis:If web and app don't reconcile, mobile-led brands quietly lose half their attributed revenue.

PrescribedApp Tracking

How we run web & app analytics

Three layers of a durable capture stack

Specify

Tracking spec, event taxonomy, parameter standards, and consent architecture documented up front and enforced in code. The unsexy deliverable that prevents 80% of future cleanup.

Capture

Server-side tagging, consent-aware event firing, deduplicated conversions, modelled conversions for what's missing. Built to survive the next ATT update, not just the current one.

Land

Clean event streams landing in your warehouse and reconciled with CRM, app, and offline data. The single source of truth every downstream measurement system needs.

In God we trust. All others must bring data.

W. Edwards DemingQuality Pioneer

Frequently asked questions

Web & app analytics, demystified

  • GA4 is fine for descriptive analytics and free BigQuery export. Snowplow gives you full event ownership and customisability (good for complex products). Segment / RudderStack are CDP-grade routing layers. Most stacks combine GA4 + a CDP. We pick based on workload.

Ready to start with web & app analytics?

Tell us where you are today and what you're trying to fix. We'll show you exactly how we'd plan, execute, and measure.

  • No commitment required
  • Speak to a senior architect
  • Get a rough timeline estimate