Skip to content

Insights

Make sense of your marketing data.

Practical notes on tracking, attribution, and reporting, drawn from the work behind the numbers.

Free tools

2 tools

Free Tracking Scan

Check which pixels and conversion tags your site loads, whether any fire twice, how consent is set up, and whether Google tags use a server-side endpoint.

Platform Gap Checker

Enter the numbers two platforms report, such as Meta Ads and GA4, and see the gap, which side is higher, and the usual causes for that direction.

Attribution & Measurement

21 articles

Why Meta Ads and GA4 numbers don’t match

Meta and GA4 disagree on conversions because of view-through credit, attribution windows, cross-device identity, and missing UTMs. Here is how to reconcile them.

3 min read

Offline conversions: what they are, how to measure them, and what changed in 2026

When a deal closes on a sales call or in your CRM, your ad platforms never see it. This guide explains offline conversion tracking from the ground up: what to capture when a lead arrives, how to send the outcome to Google Ads, Meta, Microsoft, LinkedIn and TikTok, how the credit works, and what changed in 2026.

14 min read

Why HubSpot and GA4 numbers don’t match

HubSpot and GA4 disagree because they count different events, people, windows, and lifecycle states. Here is how to reconcile them before the next report review.

5 min read

GA4 multi-touch attribution in BigQuery: build a custom attribution model in SQL

Turn the GA4 export into sessions, find each conversion, join the sessions in a lookback window before it and assign credit with window functions. The SQL below builds position-based and time-decay models and a channel rollup. It will not match GA4’s data-driven model, which the export does not include.

9 min read

Multi-touch attribution and models explained

Multi-touch attribution (MTA) shares credit for a conversion across the interactions your systems recorded before it, and an attribution model is the rule that decides how.

21 min read

Why web and mobile app analytics numbers don’t match

Web and app analytics disagree because they come from separate streams, identify people differently, and count installs, sessions, and attribution on different rules. Here is how to reconcile them before the next report review.

4 min read

Why Shopify and GA4 revenue doesn’t match

Shopify records every order on the backend while GA4 only sees purchases the browser reports. Here is how to reconcile orders and revenue before the next review.

3 min read

Why Salesforce and GA4 numbers don’t match

Salesforce counts leads, contacts, and opportunities while GA4 counts website events and sessions. Here is why the two disagree and how to report on both without guessing.

3 min read

Why LinkedIn Ads and GA4 numbers don’t match

LinkedIn Ads and GA4 count different clicks, views, and people, so their numbers will not match. Here is how to explain the gap before the next report review.

3 min read

Why GoHighLevel and GA4 numbers don’t match

GoHighLevel counts contacts, pipeline, and won deals while GA4 counts web events and sessions. Here is how to reconcile the gap before the next report review.

3 min read

Client Reporting

1 article

Data Infrastructure

10 articles

Platform Playbooks

8 articles

Enhanced conversions for leads not working (but offline imports work)

Your GCLID imports land, but enhanced conversions for leads never show. A symptom, cause, check and fix diagnostic built on Google’s own docs: the two diagnostics reports, customer data terms, the tag on your forms, hashing, the API cutoff and consent.

10 min read

Agency Operations

4 articles

Find what your tracking misses in about 10 seconds.

Run a Free Tracking Scan on your site and see every gap we find.