• The Dashboard
  • Posts
  • You Don't Start With Data You Start With Meaning

You Don't Start With Data You Start With Meaning

Why Affiliates Are the Only Real Data-Driven Marketers

1. Most brands think they're data-driven

I've never encountered a D2C or Direct Response brand that doesn't claim to be data-driven —
except for affiliates, who are the only real geniuses of performance marketing.

Affiliates don't have the arrogance or cheap signaling of the marketing community.
They're "fuck data — show me the money" driven.

2. They're not.

Back to brands.

Ask any of them: "Where's your tracking plan?"
They'll send you access to Google Tag Manager or point you to Meta or Google conversions.
In the best-case scenario, you'll get some Google Sheet with the usual
page_view, add_to_cart, checkout, and purchase events.

And when you actually go into the implementation, it's usually even worse.
Best case — tracking is installed but missing an insane amount of properties and dimensionality.
More often — there's only one event: Purchase.
Or worse, everything is just pushed from third-party tools like Hyros or Triple Whale.

There's this huge consensus that data quality is the single most important thing.
Every tool claims 99% accuracy of their purchase, add-to-cart, or conversion tracking —
like that's the only dimension that matters.

But what about what you're actually tracking and sending — and why?

Why just purchases & add to carts?
Why not just tracking revenue then?

Why not having just P&L?

I get it, P&L is what we got? But is that answer how we got there?

Do people buy from us because of our P&L?

For some reason, some people believe customers buy from them because of them,
not because of themselves.

If you — god forbid — open LinkedIn (which i strongly recommend you not to),
you'll see endless posts about "North Star Metrics," "KPIs," or whatever the latest buzzword is.

And when you dig into them, you'll find "North Stars" like:
ROAS, CPA, Day 1 ROAS, Net 320% ROAS Day 8, net slash 290% margin – 2494 COGS…

And if you optimize around that, apparently, you'll be fine. P&L will be solid, and voila you built your company around systems, not people. You are not trading your time for money, you are millionaire now.

I often think that if customers of these "leaders" ever discovered the thought process of the brands they buy from,
they'd feel immediate shame for how dumb they were.

They bought products thinking it would do something for them,
while in reality, they were just a data point in someone's 9-month "North Star KPI Net Revenue Sub-60-Days 156–158% ROAS" goal.

What any of that have with why customer bought from you?

What any of that will inform you what to test next? Or even more important what not to test?

So before I get even more frustrated — let's dumb this down to the bone.
Let's reverse it.
Let's start from customers, lets start from value.

3. → Here's why

Imagine inheriting and depositing $1 million USD into your personal account today.
You go to sleep.
Wake up in the morning.
Before doing anything, you check your account — and see only $25 there.

Of course, you blame your wife, the tax service, maybe even the country.
Then you call the bank.
After 45 minutes of "hello, my name is Sharam…" the bank confirms there was an error.
They fix it, and your million is back.

Now think about what actually happened technically.

You deposited money — the bank created a record, an event called money_deposited.
Your app called an API, the call failed, and you saw $25.
Then the bank queried their database, found that event, reconciled it, and your balance returned.

That moment — money_deposited — is the event where both you and the bank 100% agree on what happened.
It's not a feeling or interpretation.
It's a shared definition, verified by both sides, stored as data.

That's what tracking really is:
a contract of understanding (sometimes) between two systems —
in banking, between you and the bank;
in business, between you and your users.

Without that contract, there's no shared reality.
Just assumptions, confusion, and noise.

And that's where value overlap happens, you trust your money is safe in their database, they charge you for that.

Can even build hypothesis like this:

I have Money -> i need Security -> lets go to the Bank -> where there is lovely Customer Support -> so i can be Happy Customer and not leave -> so Bank Make some Money -> and i become their North Star = Bank Make More Money

I know what you mean, yeah it's all about me!

My needs, insecurities, blind spots, state of mind.... they are all your North Star.

And yeah you annoying copywriters, we in data analytics also care about pain points.

We just call them events.

And yes customers care great deal about them, while not giving fuck about whatever your agenda behind scene is.

We care only about ourselves.

So no, your tracking plan and event design is not about you and your goals, it's about maze of events that happen between you and your audience.

It's your way to set alarms, that would give you opportunity to speak with your customers in way that you dictate, while accepting that they would have final say.

4. → So what the fuck IS real tracking then?

Fair question. I've been shitting on everyone's approach but haven't shown you what good looks like.

Let me show you someone who actually figured it out.

In 2018, Duolingo was stuck. Their DAU growth was flatlining despite running hundreds of tests. Sound familiar?

They were in the same trap as everyone else — optimizing a monolithic metric (DAUs) that was too big to move.

It's like trying running Ironman but watchin more Ironman videos on YouTube.

So what they did?

They stopped looking at DAUs as one number and started seeing it as a system of user states.

Here's their tracking model:

Notice what's missing? Revenue. Conversions. ROAS.

Notice what's there instead? States of existence.

Every user lives in exactly one box each day:

  • New User — first time ever touching the app

  • Current User — came back within a week

  • At-Risk WAU — missed today but was here this week

  • At-Risk MAU — gone for a week but was here this month

  • Dormant — gone for 30+ days (basically dead)

  • Reactivated — at-risk user who came back

  • Resurrected — dormant user who rose from the dead

And between those states? Transitions.

Each arrow has a rate — a probability of moving from one state to another:

  • NURR (New User Retention Rate) — will someone who just downloaded come back tomorrow?

  • CURR (Current User Retention Rate) — will today's active user return tomorrow?

  • Reactivation Rate — will someone slipping away catch themselves?

  • Resurrection Rate — will the dead rise again?

They ran simulations. What happens if we improve NURR by 2%? What if we boost reactivation by 2%? What if we increase CURR by 2%?

CURR destroyed everything else.

Getting today's user to come back tomorrow had 10x the impact of acquiring new users. More impact than resurrection campaigns. More than reactivation flows. More than anything.

Think about that. They didn't need better traffic sources. Better creatives. Better onboarding. New bidding strategies. Higher quality users.

They just needed to get today's user to open the app tomorrow.

One metric. CURR. That was their entire growth strategy.

And it worked — 4x DAU growth.

For those who want to learn more about Duolingo here is the link for the article https://blog.duolingo.com/growth-model-duolingo/

I can already hear you: "That's cute for a language app, but we sell supplements/cosmetics/fashion/whatever. People buy once twice, through funnels, what not so fuck off."

Love you too.

But you could not be more wrong.

Your customers have states too. You just refuse to see them.

Let me translate Duolingo's model to your world. You guys are here because of DR/Performance marketing. I got you here as I abused the Funnel of the Week email list.

Let's take a real example: MUD\WTR, the coffee alternative brand doing lord know how many figures a year.

The Funnel of the Week team did an amazing breakdown of their funnel. Here is the link. https://community.funneloftheweek.com/c/mud-wtr/

Let me build a tracking plan in front of you for them. Right now

Here is how their funnel look like visually.

5. MUD\WTR Tracking Plan — Fuck It, Let's Do It Live

This is a typical funnel you'll find in the D2C space today.

It's heavily reliant on subscription. Subscriptions are bloodstream of business, and LTV here is crucial I would argue.

It's a 100% paid game — at least on the storefront side — with the majority of traffic driven by Meta and YouTube ads and influencers partnerships.

The funnel/user flow looks something like this:

Meta/YouTube Ads → Landing Page → On-Page Order → Checkout Page → Upsell #1 → Post-Purchase Page

The On-Page Order is where the split happens — one-time purchase ($80) or subscription ($60) — creating two distinct flows as you see in the diagram.

And this is where we start breaking it down into design.

Most people would just create a conversion action for each of these steps and call it a day.
Well — not us.

Because we don't start from conversion points — we start from user value.

To understand where value actually happens, we need to capture the activities users perform, not just the static pages they touch.

This brings us to one of the cornerstones of modern analytics:
the concepts of Entities and Activities.

These two concepts can help us in trying to understand what the hell user think about our little supplement store.

🧠 Entities and Activities

  • Entities are the things that exist — the nouns of your funnel.
    They’re the identifiable objects that have a lifecycle: User, Cart, Subscription, Order.

  • Activities are the things that happen — the verbs of your funnel.
    They describe how those entities move through their journey: Cart Created, Checkout Started, Purchase Completed.

Entities give your system structure.
Activities give it motion.
Without entities, your data is poluted; without activities, your entities are lifeless.

If i look at their business i would argue that these are the entities that probably would be sufficient, to be able performance of these over the time. And more importantly to come up with hypothesis against it.

1️⃣ Core Entities

Entity

Definition

User

A person interacting with MUD\WTR (anonymous → customer → subscriber).

Cart

Temporary intent object holding selected bundles.

Order

A completed exchange of trust and value.

Subscription

Ongoing relationship born from an order.

All technical scopes (session, visitor, creative) are just properties of User actions, not entities. This is where lot of people are losing their mind, esecpially in DR world. Properties is place where you enrich your entities with informations that are improtant to your busines model. Which ad hook drive most sales, is it female or male UGC actor etc......

2️⃣ Key Activities (Events)

Now every entity has its own activities or Core Events. If I look at MUD\WTR these could be some of the most important.

Entity

Core Events

Important Properties

User

product_viewed, variant_selected, email_captured, starter_kit_selected, cta_clicked, started_checkout, completed_purchase, requested_refund, reactivated_account

user_id, session_id, creative_id, referrer_code, influencer_id, starter_kit_type, subscription_selected, source, device_type

Cart

item_added, subscription_toggled, cart_abandoned, cart_converted

user_id, cart_id, cart_value, is_subscription, starter_kit_type, discount_applied, influencer_code

Order

order_created, order_fulfilled, payment_failed, order_refunded

user_id, order_id, order_value, creative_id, is_first_order, subscription_order, payment_method

Subscription

subscription_started, subscription_renewed, subscription_paused, subscription_canceled, subscription_reactivated

user_id, subscription_id, plan_cadence, lifetime_value, pause_reason, cancel_reason, months_active

Now here's the crucial part most people fuck up:

You can't encode everything into UTMs or pass all properties directly.

Properties like user_id need to flow through EVERY entity to connect the entire journey. But properties like hook_type or angle? Those don't live on the user — they live in your creative taxonomy.

Here's how it actually works:

When someone clicks an ad, you capture creative_id (something like cr_20250122_ugc_katie_energy_v3). That's it. Just the ID.

Then on your backend, you decode that ID against your creative taxonomy table:

creative_id: cr_20250122_ugc_katie_energy_v3
→ hook_type: "problem_aware"
→ angle: "coffee_crash" 
→ format: "ugc_testimonial"
→ influencer: "katie"
→ benefit_focus: "energy"
→ version: 3
→ launch_date: 2025-01-22

This way you can analyze: "What percentage of subscriptions came from 'coffee_crash' angles vs 'morning_ritual' angles?" without trying to stuff 47 parameters into your tracking.

The same goes for other enrichments. Your starter_kit_type captures what they bought, but your product database tells you the margin, ingredients, whether it contains matcha vs chocolate, etc.

Again you use properties to enrich your events, with data that is important for your entities. Think about property as dimension through which you want to look your events and entities behaviors — but remember, some dimensions are derived, not tracked.

3️⃣ States of Existence

Now this is where we come to the main point, and how Entities and Events (activities) are essentially just infrastructure that allow us to reconstruct user states. Based of above mentioned activities and entites we can now construct this flow for our users similar to Duolingo example:

#

State

Meaning

1

New Visitor

First exposure — curiosity sparked.

2

Returning Visitor

Curiosity repeated — ad/message resonated.

3

Lead

Shared contact — gave permission to speak.

4

Engaged

Evaluating — interacting, adding to cart, starting checkout.

5

Customer

First trust — completed purchase.

5a

One-Time Customer

Bought once — no subscription commitment yet.

5b

First-Time Subscriber

Went straight to subscription — immediate routine commitment.

6

Active Subscriber

Routine built — receiving recurring value.

7

At-Risk Subscriber

Friction or doubt — failed payment, paused, skipped.

8

Churned / Canceled

Trust ended — canceled or lapsed.

9

Reactivated

Trust regained — came back or restarted.

10

Dormant

Silence — no activity for defined window.

Remember your tracking plan should allow you to be able to map it in this form. This why it's so crucial that you take time and have everyone in room when defining activities and their properties. Without that you will not be able to reconstruct these type of flows.

4️⃣ Transition Logic (simplified)

Now as in Duolingo example these users goes between these states, remember its not linear. Someone can be new visitor and convert, but also become returning visitor, lead and then convert.

And here's the MUD\WTR twist: customers split into two paths — one-time buyers and subscribers — and can move between them.

These flow are then turned into new metrics that represent transition between those states.

From

To

Trigger

Metric Name

New Visitor

Returning Visitor

repeat product_viewed

NURR (New User Return Rate)

New Visitor

Customer

completed_purchase

Instant Conversion Rate

Returning Visitor

Lead

email_captured

LCR

Returning Visitor

Engaged

starter_kit_selected / started_checkout

Engagement Rate

Lead

Customer

completed_purchase

Lead-to-Customer Rate

One-Time Customer

Active Subscriber

subscription_started (post-purchase)

Subscription Upgrade Rate

One-Time Customer

One-Time Customer

order_completed (repeat one-time)

Repeat Purchase Rate

Customer

Active Subscriber

subscription_started

Sub Start Rate

Active Subscriber

At-Risk

payment_failed / subscription_paused

Risk Ratio

At-Risk

Active Subscriber

subscription_renewed

Save Rate (SVR)

Active Subscriber

Churned

subscription_canceled

Churn Rate

Churned

Reactivated

subscription_reactivated / order_completed

Reactivation Rate (WRR)

Any

Dormant

inactivity window passed

Decay Rate

Same as in Duolingo example, this give us ability to run Markov chain simulation.

And i know Markob chain sounds quite overwhelming but in the essence its quite simple.

6. → How the Simulation Works

A Markov simulation is just a toy world built from the transition probabilities you measure in real data.

You ask:

“If users move between states with these probabilities, what happens to the system over time?”

Then you “nudge” one probability (say, NURR +5%) and see how the whole system stabilizes differently.

🧩 Think of it like water flowing through pipes

Each state (New, Returning, Lead, Customer, etc.) is a bucket.
The transition probabilities are pipes between them.
Every day, users (water) flow from one bucket to others according to those pipe widths.

Example:

From → To

Probability

New → Returning

0.3

New → Customer

0.05

New → Dormant

0.65

That means:

  • 30% of new users come back

  • 5% buy immediately

  • 65% vanish

So if 10,000 new users arrive, next day:

  • 3,000 become returning

  • 500 become customers

  • 6,500 are gone (dormant)

🧩 Simulating over multiple days

On day 2:

  • Some returning visitors become leads (15%)

  • Some become customers (5%)

  • Some go dormant (80%)

You repeat this across days until proportions stop changing.
That’s your steady state — your “normal” funnel outcome.

Maybe after a few weeks:

  • 4.2% of all new visitors eventually become customers

  • 0.8% become active subscribers

  • the rest vanish

🧩 Improve one pipe

Suppose you increase NURR — New→Returning — from 0.3 → 0.315 (+5%).

That means more users stay in the system longer, and some of them go on to become leads, customers, subscribers later.

You rerun the simulation and the new steady state might become:

  • 4.5% of new visitors become customers (vs 4.2%)

  • 0.86% become subscribers (vs 0.8%)

+7% customers relative to baseline.

So when you run these type of simulations you actually come up with ideas, how to more efficiently move users from one state to the other, which in effect might get you closer to your end goal.

This is conversion that you probably had thousands of times, with your team. Do we need to improve lander or ads? Do we increase AOV or conversion rate?

This is what Markov simulation really does is show where a small change creates the biggest downstream effect.

What is more important? To get people back or just send new people.

How effective re-marketing really is? Then out of that what really frequency on ad side is really doing?

Do you have one of success or you are building loyal customers....

Whats ratio between customers that buy as new vistoris vs return visitors in relation to subscription?

Whats ratio churn rate and new and return visitors? For example in MUD\WTR case this could be huge lever.

The way that their funnel is set probably produce ton of people that subscribe without even being aware that they subscribed.

There is probably more chance they are aware of that if they return few times before buying....

I mean this can go for hours.

For MUD\WTR specifically, the simulation might reveal their biggest lever isn't getting new customers — it's converting one-time buyers to subscribers. Or maybe it's the opposite: getting subscribers on first purchase instead of letting them try once. The model will tell you which path creates more value.

You can literally pick between any of stages and get an idea of what will happen to bottom line, and then have idea how to place your bets.

Along the way you will find your CURR.

7. → But, of course there is a But. Here's the twist .

So Duolingo found their golden metric. CURR. The thing that matters. The truth.

We just built a live tracking plan for MUD\WTR . We demonstrated how to do it right.

And now I'm going to tell you something that'll make you want to throw your laptop:

It's all horseshit.

Not because of Duolingo, Markov or God forbid I am wrong. But that's not the point.

These are models, this is not real life.

CURR might have worked for a few months and then maxed out. Actually, check Duolingo's own 2023 update — they're already saying CURR is "inching higher and higher" and asking about ceilings. 90% of their DAUs are now Current Users. The metric that saved them is becoming another monolith.

You might find your golden metric, but trust me, it will stop delivering the value you used to see.

There's actually a name for this: Goodhart's Law. "When a measure becomes a target, it ceases to be a good measure."

Once people start optimizing for a specific KPI, they begin changing their behavior (or the system) to hit the target — often breaking the metric's original relationship with the underlying reality it was meant to measure.

Models can't predict the impact of one creative that changes everything overnight, or that one angle you thought of.

Not a single model predicted COVID, from a marketing standpoint.

If there is one thing that you should take away from this, it would be this:

You build a model to burn the model.

How many times have you built or delegated to build dashboards that after 2 weeks were not opened?

How many stale pipelines does your data team have?

This is the key reason why people don't even build tracking plans, as they think that once they do it, it's set in stone. It's truth. And when they realise that this is not game, they get frustrate and just move on.

There is no such thing as truth in our game.

There is just what is working, and what worked.

And then there are our hypotheses about what could work.

My whole argument is, while figuring out what could work, increase your fucking optionality.

Be able to see these small bets that might have high payoff but small downside.

If getting more users to come back is cheaper than commissioning Stefan Georgi to write your new landing page, then for lord's sake do it.

And in order to do it, you need to be able to see these options. You need infrastructure that allow you see options where other sees nothing.

And when one of these options works, don't become arrogant.

It will pass, and you will have to figure it out again.

Every tracking plan is a collection of conjectures, not truths.

Every dashboard is showing you what used to matter.

Every metric is right until the moment it's wrong.

That's not frustrating. That's learning. That's not failure. That's growth. That's not chaos. That's reality.

The moment you think your tracking is "done" is the moment you've lost.

Because unlike the affiliates who know they're just chasing money, you're chasing the illusion of understanding.

At least until tomorrow, when everything changes again.