Reverse ETL reads worth your weekend
The layer that pushes warehouse data back into your tools is finally documented well. Five picks:
— 1. Hightouch's "Composable CDP" whitepaper — the clearest argument for ditching packaged CDPs in favor of your warehouse as the source of truth. Source: Hightouch docs.
— 2. Census on sync diffing — how incremental syncs actually detect row changes without re-sending everything; the section on watermark columns is the keeper. Source: Census engineering blog.
— 3. dbt's "metrics layer" RFC — read the original discussion thread, not the marketing page; the tradeoffs are in the comments. Source: dbt GitHub.
— 4. Snowplow's event modeling guide — schema design before you pipe anything anywhere. Source: Snowplow docs.
— 5. "Modern Data Stack is a fallacy" by Pedram Navid — the necessary counter-read so you don't drink it all. Source: pedramnavid.com.
Skip if you're under 1M monthly events. Essential if your activation is bottlenecked on engineering.
That's the stack for this week. Forward to a teammate.
The layer that pushes warehouse data back into your tools is finally documented well. Five picks:
— 1. Hightouch's "Composable CDP" whitepaper — the clearest argument for ditching packaged CDPs in favor of your warehouse as the source of truth. Source: Hightouch docs.
— 2. Census on sync diffing — how incremental syncs actually detect row changes without re-sending everything; the section on watermark columns is the keeper. Source: Census engineering blog.
— 3. dbt's "metrics layer" RFC — read the original discussion thread, not the marketing page; the tradeoffs are in the comments. Source: dbt GitHub.
— 4. Snowplow's event modeling guide — schema design before you pipe anything anywhere. Source: Snowplow docs.
— 5. "Modern Data Stack is a fallacy" by Pedram Navid — the necessary counter-read so you don't drink it all. Source: pedramnavid.com.
Skip if you're under 1M monthly events. Essential if your activation is bottlenecked on engineering.
That's the stack for this week. Forward to a teammate.
Identity resolution without the vendor pitch
Stitching one human across devices is the hardest part of any stack. Vendor-neutral reads only.
— 1. "Deterministic vs probabilistic matching" — when a hashed email beats a fuzzy fingerprint, and the false-merge cost of getting it wrong. Source: Segment Academy.
— 2. Identity graph data modeling — how to store edges so you can un-merge later (you will need to). Source: RudderStack blog.
— 3. UTM hygiene as identity input — Avinash Kaushik on why dirty campaign tags poison every downstream join. Source: kaushik.net.
— 4. Apple's Private Click Measurement explainer — the model that survives without third-party cookies. Source: WebKit blog.
Skip if you have one channel and one device type. Essential if you run cross-device retargeting.
That's the stack for this week. Forward to a teammate.
Stitching one human across devices is the hardest part of any stack. Vendor-neutral reads only.
— 1. "Deterministic vs probabilistic matching" — when a hashed email beats a fuzzy fingerprint, and the false-merge cost of getting it wrong. Source: Segment Academy.
— 2. Identity graph data modeling — how to store edges so you can un-merge later (you will need to). Source: RudderStack blog.
— 3. UTM hygiene as identity input — Avinash Kaushik on why dirty campaign tags poison every downstream join. Source: kaushik.net.
— 4. Apple's Private Click Measurement explainer — the model that survives without third-party cookies. Source: WebKit blog.
Skip if you have one channel and one device type. Essential if you run cross-device retargeting.
That's the stack for this week. Forward to a teammate.
Attribution reads that admit the limits
Every model lies a little. These tell you how.
— 1. "Incrementality over attribution" — the case for geo-holdout tests instead of last-click theater. Source: Recast blog.
— 2. Markov-chain attribution, explained simply — removal effect math without a PhD; the worked example clicks instantly. Source: Analytics Vidhya.
— 3. Media Mix Modeling for small budgets — Meta's open-source Robyn and when MMM is overkill. Source: facebookexperimental on GitHub.
— 4. "Why your CAC is wrong" — blended vs paid CAC and the trap of counting organic as free. Source: Lenny's Newsletter.
Skip if you spend under five figures a month. Essential before you reallocate a budget.
That's the stack for this week. Forward to a teammate.
Every model lies a little. These tell you how.
— 1. "Incrementality over attribution" — the case for geo-holdout tests instead of last-click theater. Source: Recast blog.
— 2. Markov-chain attribution, explained simply — removal effect math without a PhD; the worked example clicks instantly. Source: Analytics Vidhya.
— 3. Media Mix Modeling for small budgets — Meta's open-source Robyn and when MMM is overkill. Source: facebookexperimental on GitHub.
— 4. "Why your CAC is wrong" — blended vs paid CAC and the trap of counting organic as free. Source: Lenny's Newsletter.
Skip if you spend under five figures a month. Essential before you reallocate a budget.
That's the stack for this week. Forward to a teammate.
From the network
Want more on Digital ops workflows? @TheOpsPlaybook covers it daily and goes deeper than most. Solid follow.
Want more on Digital ops workflows? @TheOpsPlaybook covers it daily and goes deeper than most. Solid follow.
Email deliverability as an engineering problem
Not copywriting. Plumbing. These treat inbox placement like infra.
— 1. DMARC, DKIM, SPF in one diagram — the alignment rules that actually decide gmail placement, drawn clearly. Source: dmarcian.
— 2. Google and Yahoo's 2024 bulk-sender rules — the one-click unsubscribe header spec and spam-rate threshold. Source: Google Postmaster docs.
— 3. IP warming schedules that work — day-by-day volume ramps from a real ESP migration. Source: Postmark blog.
— 4. Seed-list testing vs Google Postmaster Tools — why both, and what each blind-spots. Source: Word to the Wise.
Skip if you send under 5k a day. Essential the week before any domain or ESP migration.
That's the stack for this week. Forward to a teammate.
Not copywriting. Plumbing. These treat inbox placement like infra.
— 1. DMARC, DKIM, SPF in one diagram — the alignment rules that actually decide gmail placement, drawn clearly. Source: dmarcian.
— 2. Google and Yahoo's 2024 bulk-sender rules — the one-click unsubscribe header spec and spam-rate threshold. Source: Google Postmaster docs.
— 3. IP warming schedules that work — day-by-day volume ramps from a real ESP migration. Source: Postmark blog.
— 4. Seed-list testing vs Google Postmaster Tools — why both, and what each blind-spots. Source: Word to the Wise.
Skip if you send under 5k a day. Essential the week before any domain or ESP migration.
That's the stack for this week. Forward to a teammate.
Server-side tagging: the real tradeoffs
Moving tags off the browser fixes some things and breaks others. Curated honestly.
— 1. Server-side GTM cost reality — the Cloud Run bill nobody quotes you, with sizing math. Source: Stape blog.
— 2. First-party cookie restoration via sGTM — extending cookie lifetime past Safari's 7-day ITP cap. Source: Simo Ahava.
— 3. What you lose moving server-side — client-side enrichment you'll have to rebuild. Source: MeasureSchool.
— 4. Conversions API vs pixel — when CAPI genuinely recovers signal and when it's redundant. Source: Meta for Developers.
Skip if your client-side tags fire fine and you're not ITP-blocked. Essential if Safari conversions cratered.
That's the stack for this week. Forward to a teammate.
Moving tags off the browser fixes some things and breaks others. Curated honestly.
— 1. Server-side GTM cost reality — the Cloud Run bill nobody quotes you, with sizing math. Source: Stape blog.
— 2. First-party cookie restoration via sGTM — extending cookie lifetime past Safari's 7-day ITP cap. Source: Simo Ahava.
— 3. What you lose moving server-side — client-side enrichment you'll have to rebuild. Source: MeasureSchool.
— 4. Conversions API vs pixel — when CAPI genuinely recovers signal and when it's redundant. Source: Meta for Developers.
Skip if your client-side tags fire fine and you're not ITP-blocked. Essential if Safari conversions cratered.
That's the stack for this week. Forward to a teammate.
How to actually evaluate a martech vendor
Demos are theater. These reads are the homework you do before the call.
— 1. The "build vs buy vs API" decision tree — when a 200-dollar tool beats a custom internal one, and the maintenance cost you forget. Source: First Round Review.
— 2. Reading a SOC 2 report for real — which sections matter when the tool touches PII. Source: Vanta blog.
— 3. Data egress and lock-in clauses — the contract lines that decide whether you can ever leave. Source: a16z.
— 4. Scott Brinker's martech rationalization — auditing redundant tools before you buy a 41st. Source: chiefmartec.com.
Skip if you're a team of one with three tools. Essential before any annual contract.
That's the stack for this week. Forward to a teammate.
Demos are theater. These reads are the homework you do before the call.
— 1. The "build vs buy vs API" decision tree — when a 200-dollar tool beats a custom internal one, and the maintenance cost you forget. Source: First Round Review.
— 2. Reading a SOC 2 report for real — which sections matter when the tool touches PII. Source: Vanta blog.
— 3. Data egress and lock-in clauses — the contract lines that decide whether you can ever leave. Source: a16z.
— 4. Scott Brinker's martech rationalization — auditing redundant tools before you buy a 41st. Source: chiefmartec.com.
Skip if you're a team of one with three tools. Essential before any annual contract.
That's the stack for this week. Forward to a teammate.
Event taxonomy: the schema you regret skipping
Name your events badly once and you pay for years. These fix it upstream.
— 1. Object-action naming convention — "Product Viewed," not "viewedProduct," and why consistency beats cleverness. Source: Segment spec.
— 2. A tracking plan template that scales — the spreadsheet structure that survives a 50-person product team. Source: Avo blog.
— 3. Property vs event: where to put the data — the decision that determines whether you can ever segment on it. Source: Amplitude docs.
— 4. Schema enforcement at the SDK level — catching bad events before they hit the warehouse. Source: Snowplow.
Skip if your analytics is read-once dashboards. Essential before you instrument a new product.
That's the stack for this week. Forward to a teammate.
Name your events badly once and you pay for years. These fix it upstream.
— 1. Object-action naming convention — "Product Viewed," not "viewedProduct," and why consistency beats cleverness. Source: Segment spec.
— 2. A tracking plan template that scales — the spreadsheet structure that survives a 50-person product team. Source: Avo blog.
— 3. Property vs event: where to put the data — the decision that determines whether you can ever segment on it. Source: Amplitude docs.
— 4. Schema enforcement at the SDK level — catching bad events before they hit the warehouse. Source: Snowplow.
Skip if your analytics is read-once dashboards. Essential before you instrument a new product.
That's the stack for this week. Forward to a teammate.
Lifecycle orchestration beyond drip campaigns
The gap between "sequence of emails" and "real-time journey" is where these live.
— 1. Event-triggered vs time-based flows — why behavior beats calendars, with the abandoned-browse example. Source: Customer.io blog.
— 2. Frequency capping across channels — stopping the four-message-in-an-hour pile-on when channels don't talk. Source: Braze blog.
— 3. The "do-nothing" control group — measuring whether your lifecycle program does anything at all. Source: Reforge.
— 4. Quiet hours and timezone logic — the unglamorous detail that prevents 3am pushes. Source: OneSignal docs.
Skip if you send one newsletter on a schedule. Essential if you run triggered journeys across two-plus channels.
That's the stack for this week. Forward to a teammate.
The gap between "sequence of emails" and "real-time journey" is where these live.
— 1. Event-triggered vs time-based flows — why behavior beats calendars, with the abandoned-browse example. Source: Customer.io blog.
— 2. Frequency capping across channels — stopping the four-message-in-an-hour pile-on when channels don't talk. Source: Braze blog.
— 3. The "do-nothing" control group — measuring whether your lifecycle program does anything at all. Source: Reforge.
— 4. Quiet hours and timezone logic — the unglamorous detail that prevents 3am pushes. Source: OneSignal docs.
Skip if you send one newsletter on a schedule. Essential if you run triggered journeys across two-plus channels.
That's the stack for this week. Forward to a teammate.
Catching broken tracking before your CMO does
Nobody notices a dead pixel until the dashboard goes flat. These watch for you.
— 1. Anomaly detection on event volume — alerting when "Signup Completed" drops 40 percent overnight. Source: Metaplane blog.
— 2. Schema-change alerts — catching when a dev renames a field and silently kills a report. Source: Monte Carlo.
— 3. The data contract pattern — making producers responsible for not breaking consumers. Source: dbt blog.
— 4. Synthetic monitoring for conversion funnels — a bot that walks checkout hourly to confirm tags fire. Source: Checkly blog.
Skip if a human eyeballs your dashboards daily. Essential once tracking feeds money decisions.
That's the stack for this week. Forward to a teammate.
Nobody notices a dead pixel until the dashboard goes flat. These watch for you.
— 1. Anomaly detection on event volume — alerting when "Signup Completed" drops 40 percent overnight. Source: Metaplane blog.
— 2. Schema-change alerts — catching when a dev renames a field and silently kills a report. Source: Monte Carlo.
— 3. The data contract pattern — making producers responsible for not breaking consumers. Source: dbt blog.
— 4. Synthetic monitoring for conversion funnels — a bot that walks checkout hourly to confirm tags fire. Source: Checkly blog.
Skip if a human eyeballs your dashboards daily. Essential once tracking feeds money decisions.
That's the stack for this week. Forward to a teammate.
Feature flags, but for marketers
The experimentation infra engineers take for granted is finally reachable for growth teams.
— 1. Flags vs A/B tests — when you want a kill switch vs a measured experiment, clearly separated. Source: LaunchDarkly blog.
— 2. Server-side experimentation for SEO safety — running tests without cloaking risk or layout-shift penalties. Source: GrowthBook docs.
— 3. Sample ratio mismatch, explained — the silent bug that invalidates half of all A/B tests. Source: Microsoft ExP team.
— 4. Bayesian vs frequentist for small traffic — which framework lets you call a winner sooner. Source: Convert.com blog.
Skip if you can't get 1,000 conversions per variant. Essential if you're shipping page tests on real traffic.
That's the stack for this week. Forward to a teammate.
The experimentation infra engineers take for granted is finally reachable for growth teams.
— 1. Flags vs A/B tests — when you want a kill switch vs a measured experiment, clearly separated. Source: LaunchDarkly blog.
— 2. Server-side experimentation for SEO safety — running tests without cloaking risk or layout-shift penalties. Source: GrowthBook docs.
— 3. Sample ratio mismatch, explained — the silent bug that invalidates half of all A/B tests. Source: Microsoft ExP team.
— 4. Bayesian vs frequentist for small traffic — which framework lets you call a winner sooner. Source: Convert.com blog.
Skip if you can't get 1,000 conversions per variant. Essential if you're shipping page tests on real traffic.
That's the stack for this week. Forward to a teammate.
Owning your product analytics
The case for self-hosted, warehouse-backed analytics over yet another black box.
— 1. PostHog vs Amplitude vs Mixpanel — a real teardown on data ownership and query freedom, not pricing tiers. Source: PostHog blog.
— 2. Why marketers should learn the "funnels are joins" idea — once it clicks, every dashboard makes sense. Source: Mode blog.
— 3. Retention curve interpretation — flattening vs decaying, and what each tells you to fix. Source: Reforge.
— 4. Self-hosting cost vs SaaS at scale — the event-volume breakpoint where owning pays off. Source: PostHog docs.
Skip if 100k monthly events fit a free tier. Essential if per-event pricing is eating your budget.
That's the stack for this week. Forward to a teammate.
The case for self-hosted, warehouse-backed analytics over yet another black box.
— 1. PostHog vs Amplitude vs Mixpanel — a real teardown on data ownership and query freedom, not pricing tiers. Source: PostHog blog.
— 2. Why marketers should learn the "funnels are joins" idea — once it clicks, every dashboard makes sense. Source: Mode blog.
— 3. Retention curve interpretation — flattening vs decaying, and what each tells you to fix. Source: Reforge.
— 4. Self-hosting cost vs SaaS at scale — the event-volume breakpoint where owning pays off. Source: PostHog docs.
Skip if 100k monthly events fit a free tier. Essential if per-event pricing is eating your budget.
That's the stack for this week. Forward to a teammate.