Your event schema is lying to three tools at once
The afternoon light slants through the window of a Berlin co-working space, catching dust motes above a laptop running four analytics dashboards in parallel. Each one shows a different conversion number for the same checkout button. The operator refreshes twice, then opens a support ticket.
Your consistent event schema is breaking attribution across every tool you run
Standardised event names promise clean dashboards but fragment funnels when platforms interpret identical labels differently.
You named every event the same way across Google Analytics 4, Mixpanel, and Plausible. purchase_complete, email_signup, content_view. Your schema is beautiful. Your attribution is broken.
GA4 fires purchase_complete when the thank-you page loads. Mixpanel waits for the server-side confirmation. Plausible counts it on button click. Same event name, three different timestamps, three different user counts. When you build a funnel that spans tools—ad click in Meta to signup in ConvertKit to purchase in Stripe—your schema becomes the seam where data splits. You lose 18% of conversions in the join because the event fired twice in one tool and never reached the other.
The fix isn’t better naming. It’s deciding which tool owns each stage, then routing events so timestamps and user IDs align at handoff points. That means different event names for client-side and server-side actions, explicit sequencing in your tag manager, and acceptance that no single dashboard will show the whole funnel. Consistency is a liability when your stack doesn’t share a clock.
TACTIC
Where GA4 custom events vanish before they reach your reports
You pushed a custom event to the data layer, checked the tag manager preview, saw it fire—then opened GA4 and found nothing. Custom events fail silently in GA4 when parameter names contain capitals, when you exceed the 500-event limit, or when the event fires before the config tag loads. The DebugView pane shows events that never make it to standard reports, and most operators never check the difference. If you’re building funnels on custom events, you need to trace the path from browser to BigQuery before you trust the count.
COMPARISON
Plausible, Fathom, and Simple Analytics compared on the features that matter
Privacy-first analytics tools strip cookies and skip personal data, but they also strip features. Plausible offers goal funnels and custom properties; Fathom keeps the interface minimal and doesn’t support multi-step flows; Simple Analytics sits between the two with event tracking but no funnel visualisation. Pricing spans $9 to $39 per month for 100,000 page views, and every plan charges per site. If you’re moving off GA4 to simplify compliance, the trade-off isn’t just privacy—it’s attribution depth and the tooling you’ll need to rebuild elsewhere.
WORTH READING
Why free analytics tiers sample your traffic and skip your best data
Free and low-cost analytics plans don’t process every session—they sample. Google Analytics samples reports when you query more than 500,000 sessions in a date range. Mixpanel’s free tier samples events beyond 20 million per month. Amplitude drops older cohorts from funnel calculations on the starter plan. The data you lose isn’t random: high-traffic days, repeat visitors, and multi-session conversions get under-represented because sampling algorithms favour unique over sequential events. If you’re making acquisition decisions on a free plan, you’re optimising for the wrong 80%.
Know someone who would like this? Forward today’s email — every operator we reach is one closer to running an online business with a little less friction.