Amplio internal · Deck 12 · Technical training
Internal · Technical training

Five layers, one playbook. How we ship the data layer.

The implementation side of Amplio. Every component, every decision, every quality gate that takes a client from kickoff call to a workspace they open on Monday. Track, merge, model, serve, automate — same playbook, every client.

5
Layers · one end to end stack
72h
Kickoff to live workspace
3
Gates · debug, parity, monitor
0
Guesswork · same playbook, every client

/ Amplio internal · 2026 · use → to advance

For engineers, analysts, and partners' technical teams
Amplio internal · Deck 12 · Technical training

/ 01 — The stack

The signal travels far. We engineer every hop.

Pixel to workspace: five layers, top to bottom. Each one solves a problem that the layer above can't. Skip one and the whole stack wobbles.

/ 01

Tracking — capture every signal

Web GTM, sGTM on Stape, Consent Mode v2, EC. The 20 to 40% most teams quietly lose.

/ 02

Merging — one unified shape

GA4, Ads, Meta, Klaviyo, Shopify, the CRM — into BigQuery as one queryable truth.

/ 03

Modeling — attribution that adds up

Last click, first touch, channel flow, MMM. We pick what fits, document why, ship it.

/ 04

MCPs — the connective tissue

Private MCPs wrap every channel into one interface. AI agents query on a schedule.

The unfair advantage
/ 05

Dashboards — a workspace they open

Cloudflare Worker + KV + Access. White labelled, refreshes itself, KPIs on the cover.

One team ships all five · zero handoffs between layers · 100% white labelled

Track · merge · model · serve · automate
Amplio internal · Deck 12 · Technical training

/ 02 — Layer 1 · Tracking

Browser to platform. Three hops, no leaks.

Every event passes through three checkpoints. The browser collects, the server forwards, the platforms receive. Each hop has a debugger and a parity check.

1

Web GTM, lean container

One container per client. dataLayer events on every page, form, and ecom interaction. Native pixels stripped — everything routes through GTM.

Hop 1 · browserdataLayer · GA4 client · Meta browser
2

Server GTM on a first party domain

Stape hosted, CNAMEd to data.client.com. Receives the GA4 client request, fans out to GA4, Google Ads, Meta CAPI, Klaviyo, Hubspot. Survives consent walls and ad blockers.

Where 20 to 40% comes backHop 2 · Stape
3

Server side conversions at the platforms

Enhanced Conversions for Google Ads, CAPI for Meta, server events for Klaviyo, offline conversions back from the CRM. Hashed PII, parity checks, deduped.

Hop 3 · platformsEC · CAPI · offline · CRM sync

+20 to 40% conversions recovered · three hops, one pipe · one first party CNAMEd domain · zero native pixels

Browser → Stape → platform. One pipe, three checkpoints.
Amplio internal · Deck 12 · Technical training

/ 03 — Consent + reliability

34% of sessions hide behind consent. We model them back.

A CMP banner is not a tracking strategy. We pair Consent Mode v2 with cookieless pings, parameter passing, and conversion modeling so the data still adds up after the user clicks reject.

4
CMPs already wired · CookieYes · Iubenda · OneTrust · Complianz

Any CMP, wired correctly

Whichever CMP the client uses, it talks to GTM through the Consent Mode v2 API. Storage flags wired correctly, default to denied, regional variants for EEA + UK.

34%
sessions hidden by consent

Cookieless pings still fire on reject

Even on reject, GA4 sends an anonymous, cookieless ping. Google's modeling engine fills the gap on the platform side — this is where the 34% comes back.

1st
party heuristics in the warehouse

We backfill the gap ourselves

Inside our warehouse, first party heuristics backfill what consent hides, so the modeled numbers hold up beyond what the platforms report.

14
day parity window post launch

Before / after parity, proven

Every consent rollout ships with a 14 day parity report — sessions, events, conversions before and after. We do not call a setup live until the numbers tighten.

Consent Mode v2, cookieless pings, parity proven
Amplio internal · Deck 12 · Technical training

/ 04 — Layer 2 · Merging

Six channels in. One queryable truth.

Every platform exports a different shape. We pull them all into BigQuery, conform the schema, and join on the channel_flow spine — the user journey reconstructed across sessions, ads, and orders.

1

Extract — native + Stape connectors

GA4 lands in BigQuery via the native export, modelled with ga4dataform.com. Google Ads, Meta, Klaviyo and Shopify load via IP Amplio or Stape data feeds; the CRM arrives by Zapier or webhook. Daily refresh, intraday for ad spend.

GA4 · Ads · Meta · Klaviyo · Shopify · CRM
2

Transform — BigQuery + Dataform

Conformed dimensions in amplio_client.dim_*, the channel spine in fct_channel_flow. Order line items join to ad clicks by gclid, fbclid, hashed email, or device fingerprint — in that order.

channel_flow is the join
3

Serve — materialized views, KV snapshots

The dashboard reads pre aggregated views; the Cloudflare Worker reads a daily JSON snapshot from KV. Sub second loads, no warehouse bill on every page view.

snapshot.json · KV · materialized

Six channels conformed in one schema · one spine joins them · 24h refresh cadence · dashboard loads under a second

Connectors → BigQuery → Dataform → KV snapshot
Amplio internal · Deck 12 · Technical training

/ 05 — Layer 3 · Modeling

One model never fits. Three are usually enough.

We do not religiously default to a single attribution view. We pick by engagement size, by channel mix, by how the client's CFO already counts — then ship all three in the dashboard and let the spread tell the story.

/ 01

Last click — the number the client already trusts

What every ad platform reports. We replicate it in the warehouse for parity. Always there as the lower bound.

Fast · defaultReconciles to platform UI
/ 02

channel_flow multi touch — our default for performance

Reconstructed from the GA4 + ads data in the warehouse. Position based weights tuned per client. Surfaces the assists ad platforms drop. The renewal closing line lives here.

The renewal closer
/ 03

MMM — statistical, for larger accounts

Marketing mix model on weekly spend + revenue. PyMC Bayesian fit, geo holdouts when available. Used when channels overlap heavily or when offline matters.

Channels overlap · offline matters

Three models side by side in one dashboard · +37% average ROAS lift after the model lands · one documented truth per engagement · no default, no dogma

Last click · channel_flow · MMM — pick by engagement
Amplio internal · Deck 12 · Technical training

/ 06 — Layer 4 · MCPs + agents

The data is in the warehouse. Now make it speak.

A warehouse on its own does nothing. We wrap every channel in an MCP server, register them with our agents, and let scheduled agents read the warehouse, the inbox, and the dashboard so a memo lands before Monday.

50+
connectors wired · 40+ platforms · 10 standalone

IP Amplio + standalone MCPs

One MCP wraps 40+ marketing platforms — Google, Meta, TikTok, Klaviyo and more. Standalone MCPs for Cloudflare, Gmail, Attio, PostHog, Notion, GitHub, Webflow, Figma, Slack, Drive.

4
sister cycles · daily cadence

Scheduled agents run the rhythm

deploy-cycle ships dashboards every 4h. daily-intelligence pulls data and lints the vault at 08:00. outreach-cycle prospects at 11:00. weekly-reports fires day gated reports at 12:00.

08:00
Monday memo timestamp

Memos, alerts, dashboards

Health scores written to the client space, attribution shifts flagged in Slack, recommendations queued in the dashboard. The Monday morning brief lands in the inbox before the first standup.

−90%
reporting back and forth

Where the leverage compounds

AI agents query on a schedule instead of a human exporting CSVs. The connective tissue between warehouse and decisions — the unfair advantage.

MCPs make the warehouse legible to agents
Amplio internal · Deck 12 · Technical training

/ 07 — Layer 5 · Dashboards

Not Looker. Not Hex. We build the surface ourselves.

Every client gets a custom HTML workspace served from a Cloudflare Worker, hydrated from a KV snapshot, gated by Cloudflare Access. Mixpanel chart grammar in Amplio brand colors (Rule #21), white labelled, sub second load.

1

Source — one static dist/index.html

A Python generate.py compiles tokens, layout strings, and the daily snapshot into one self contained HTML file. CSS inlined, charts as SVG, zero JS frameworks.

Python build · no framework
2

Host — Worker + KV + Access

CLAUDE.md Rule #20. Each dashboard ships with deploy-check.sh + deploy.sh, secrets in ~/.amplio-secrets, a custom domain on *.ampliodata.io with an Access policy.

The Rule #20 pattern
3

Refresh — Phase D, every 4 hours

The deploy-cycle agent regenerates and redeploys every dashboard in the registry every 4h on the hour. The data layer — snapshot.json — refreshes once daily through Phase G.

deploy-cycle Phase D

4h deploy cadence · first contentful paint under a second · 100% behind Access · zero SaaS dashboard subscriptions

Cloudflare Worker + KV + Access — the Rule #20 pattern
Amplio internal · Deck 12 · Technical training

/ 08 — Onboarding playbook

Five steps. Same playbook. Every client.

From access kickoff to a workspace the client opens, in a 72 hour sprint. Validate is where the magic happens — and where most external setups never get to.

/ 01

Audit — live audit + access kickoff

A 30 minute call: Tag Assistant, DebugView, GTM review. Access checklist same day.

/ 02

Build — web GTM + Stape + warehouse

New web GTM, Stape sGTM, Consent Mode wired, BigQuery export on, Dataform deployed.

/ 03

Validate — parity, parity, parity

DebugView green. Tag Assistant green. CAPI dedup above 80%. A 14 day parity report.

Where most setups die
/ 04

Launch — workspace live, agents armed

client.ampliodata.io behind Access. Snapshot live, first Monday memo scheduled.

/ 05

Iterate — Maintained or Managed retainer

Monthly health score, quarterly model review. The tracker logs every call we make.

72h audit to first dashboard · 14 day parity sign off window · CAPI dedup gate above 80% · every recommendation logged

Audit · build · validate · launch · iterate
Amplio internal · Deck 12 · Technical training

/ 09 — The tool stack

Six tools do most of the work. You will know all of them.

We do not reinvent the stack per client. The same six surfaces show up on every engagement, top to bottom. Deep familiarity beats shallow breadth.

RoleToolWhat it does
COLLECTGoogle Tag ManagerWeb container + server container, both client owned, both Amplio managed.
TRANSPORTStapesGTM hosting, transparent pricing, a CNAME on a first party domain.
WAREHOUSEBigQuery + Dataformga4dataform.com models the GA4 export; Dataform conforms every other channel into the same shape.
SERVECloudflare Workers + KVOne Worker per dashboard, KV snapshot, Access policy. Rule #20.
AUTOMATEMCP + Cowork agentsIP Amplio MCP plus standalone MCPs. Scheduled agents run the four sister cycles.
SHIPGitHub + the vaultCode in GitHub, knowledge in the IPARAG vault. Both are searchable, both are Claude readable.
AISix tools cover 90% of the work — one stack, same on every client, no Looker, no Hex, no SaaS BI tax. Same skills across all clients is the leverage.
GTM · Stape · BigQuery · Cloudflare · MCP · GitHub
Amplio internal · Deck 12 · Technical training

/ 10 — Quality gates

Three checkpoints. None of them optional.

A setup is not live until all three gates are green. We will not invoice for an engagement that fails any one of them. Renewals depend on numbers that hold up, not on numbers that ship.

1

Debug — DebugView + Tag Assistant

Every event the dataLayer fires shows up in GA4 DebugView with the right parameters. Tag Assistant green on every page template. Server preview green for every event.

Realtime · every change
2

Parity — the numbers reconcile

GA4 vs Stripe within 5%. Meta CAPI dedup score above 80%. Google Ads conversions match GA4 imports. We compute these every Friday and post the diff in Slack.

The renewal gate
3

Monitor — live monitors, paged alerts

Stape uptime, GA4 ingestion volume, Dataform freshness, KV snapshot age. PostHog session replay on the dashboard itself. Anything red pages on call.

Stape · GA4 · Dataform · KV · PostHog

GA4 vs Stripe variance under 5% · CAPI dedup score above 80% · zero silent failures — everything pages

Debug → parity → monitor. All three or it does not ship.
Amplio internal · Deck 12 · Technical training

/ 11 — Operating cadence

Four cycles, one rhythm.

Four scheduled agent cycles run the platform between standups — dashboards fresh, vault tidy, pipeline moving, reports out the door.

/ 01

deploy-cycle — dashboards + email syncs

Regenerates and redeploys every dashboard in the registry. Idempotent.

4h
every 4 hours
on the hour
/ 02

daily-intelligence — the LLM heavy cycle

Client snapshots, vault-autoresearch, vault lint, memory organize, Monday briefing.

08:00
daily
/ 03

outreach-cycle — prospecting + outbound

LinkedIn + job board crawl, ATS careers UK + DACH, Attio sync, one daily summary.

11:00
daily
/ 04

weekly-reports — day gated

Wednesdays the Certify ads experiment. The first of the month the monthly report.

12:00
daily · day
conditional
/ 05

You — the human in the loop

Slack, vault, inbox. Everything the agents flag is yours to act on or sign off.

24/7
continuous

Four sister cycles · 24/7 system uptime · one human in the loop, by design · zero manual rebuilds — dashboards self heal

deploy-cycle · daily-intelligence · outreach-cycle · weekly-reports
Amplio internal · Deck 12 · Technical training

/ 12 — Your scope

Three lanes. Stay in yours, ship faster.

The system handles the cadence. The platform handles the runtime. You handle the signal — the parts that need a human reading the data and making a call. Knowing which is which is half the job.

YouThe judgement calls — where seniority matters
  • Audit calls + scoping new engagements
  • GTM + sGTM container builds
  • Dataform models + channel_flow weights per client
  • Dashboard layout decisions per surface
  • Recommendations to the client + measurement spec
The systemThe cadence — do not duplicate
  • Dashboard regen + redeploy every 4h
  • Daily client data pull + snapshot
  • Vault lint + memory organize
  • Email sync + auto scaffolding
  • Lead crawl + Attio writes
WalterThe shape — escalate, do not invent
  • CLAUDE.md rules + vault architecture
  • Pricing, contracts, partner terms
  • Cloudflare account + secrets rotation
  • Hiring + roles + escalations
  • The brand voice + the deck system

Three lanes · one recommendations tracker per client · zero duplicate work if the agents already do it · the leverage comes from staying in your lane

You ship signal. The system ships cadence.
Amplio internal · Deck 12 · Technical training

/ Next step

You have read the map. Now go ship the territory.

Three things to do this week. Read the playbooks for the layer you are weakest on. Shadow a live build end to end. Take ownership of one client checklist and run it green.

5 layers · track to automate 3 gates · debug, parity, monitor 4 cycles · run while you sleep 1 team · you are on it now
Questions → hello@ampliodata.io
ampliodata.io · vault → CLAUDE.md