HomeBlogAnalytics

Analytics · 4 min read

Startup analytics setup: what I do first, and in what order

Most growth work fails in the first two weeks, before anyone has run a campaign. Here is the order I set things up in, and why each step needs the one before.

Five numbered steps in a row: agree, instrument, dashboards, lifecycle, experiments

Every project I take on starts the same way, and it never starts with a campaign. It starts by agreeing definitions, in writing.

That sounds like a delay. It is the opposite. The companies that let me do this are running experiments six weeks in. The ones that skip it are still trying to match up two different numbers three months later.

Here is the order.

1. Agree what counts, in writing

Before anything is instrumented, one document gets written and signed off: what a conversion is, what the steps before it are, and what each one is called.

The order, and why it is an order: each step only works if the one before it is true.

It is boring, and it is what makes everything else work. I have lost count of the companies where the paid team and the product team quote different conversion rates for the same funnel and both are correct, because they are counting different events. Nobody is lying. Nobody wrote it down.

The document is short. A table of events, what triggers each one, what properties it carries, and who agreed to it. I wrote up how to build that table, with a free template. At Givergy it started with three stages everybody agreed on before any tracking went in. If you cannot get your own team to agree on that table, no analytics tool will rescue you.

2. Instrument it — then audit it

Implementation is the easy half. Your developers take the table, push the events, and tell you it is done.

It is not done. Checking it is the real job.

Every event gets checked against real traffic: does it fire when it should, does it fire only when it should, and is it carrying the properties the table promised. In my experience something is wrong roughly every time — a duplicate fire on a route change, a property that arrives as a string on web and a number on app, an event that never fires on Safari because it was hung off something that gets blocked.

Staging and production disagree more than anyone expects, which is why the audit runs twice: once before release and once after. These are the six checks I start with.

3. Dashboards, and only then

A dashboard built on unaudited data is worse than no dashboard, because people believe it.

Once the events are trustworthy, reporting takes days rather than weeks, and it can be narrow: the funnel, the steps, the drop-off. Looker Studio for the stakeholder view, the product analytics tool for anyone who needs to ask a question the dashboard did not anticipate.

One thing worth knowing if you are setting up now: GA4 reports with data-driven attribution unless someone changes it, so its channel numbers will not match a last-click report from your ad platform or your old setup. Check which model your key events are on before you conclude anything about a channel.

4. Lifecycle, built off the same schema

Now the CRM and the automation, and crucially built from the same event table.

The most common mess I inherit is a lifecycle stack that was built in a different quarter by a different person using different definitions. The emails trigger off one idea of “activated” and the dashboard reports another. They drift, quietly, and by the time anyone notices, six journeys depend on the drift.

Build them in the same fortnight or you will be reconciling them forever.

5. Experiments, last

Only now is there any point testing anything, because only now can you tell whether a test won. Then the job is to make experiments build on each other.

Brian Balfour@bbalfour

1/ Growth Loops are the new funnels - some thoughts by myself, @onecaseman, @kevinakwok, and @andrewchen.

31 July 2018 · view on X

The plan you write at the end of this sequence should describe a loop, not a funnel: what brings people in, what they do, and how that creates the next person. Brian Balfour’s Reforge essay on growth loops is still the clearest version of that argument, and it only works if the events in step 1 exist.

And the backlog writes itself. When you can see which step loses people, the list of things worth trying gets short, obvious and arguable — which is exactly what you want a backlog to be.

Why the order is not negotiable

Each step depends on the one before it being true. Dashboards on unaudited events produce confident nonsense. Lifecycle journeys on a different schema produce contradictions. Experiments without a trustworthy funnel produce results you will argue about rather than act on.

You can skip steps. Plenty of companies do, and they get somewhere. They just cannot tell you which part of what they did was responsible, which means they cannot do it again on purpose.

measure it properly once, then go and grow it

Questions people ask

How long does this take at a seed-stage startup?
Two weeks for the first three steps if the team turns up to the definitions workshop, and six to ten weeks for all five, with testing set up and ready to run. That is a growth setup Build on this site.
Do I need a data warehouse?
Not at seed. A product analytics tool and GA4, both fed from the same event table, cover almost everything until you have several data sources to join.
Which tool should I pick for product analytics?
Whichever your developers will actually implement. Mixpanel and PostHog are both fine. The event table matters far more than the logo.
Giovanni Perri
Giovanni Perri

I build growth systems with AI for UK and English-speaking startups, then run them with your team or on my own. More about me · how I work.

Written September 2026. Platform facts checked at the time of writing; if you are reading this much later, check them again.

Giovanni Perri

A thirty-minute call, no slides.

If you need this done rather than just read about it, that is what I do.