Calculate campaign payback by cohort

Tie acquisition campaigns to paid conversion, revenue, and retention so marketing and finance can see which campaigns pay back.

Published

difficulty advanced · time to value 10 minutes

Start from this

Calculate campaign payback by signup cohort: campaign, spend if available, paid conversions, revenue, retention, and payback period.

Why this matters

Campaign dashboards stop at leads. Product-led teams need to know which campaigns create activated, retained, paying users.

What you get

  • Campaign cohorts by signup week
  • Paid conversion and revenue
  • Retention by campaign
  • Payback estimate when spend is available

Walk through it

You

Which campaigns actually paid back?

Agent

I’ll group signup cohorts by campaign and join revenue events.

POST /v1/projects/:project_id/analytics/query {
  project_id: "default",
  hogql: "SELECT properties.utm_campaign AS campaign, countIf(event = 'signup_completed') AS signups, countIf(event = 'subscription_started') AS paid, sumIf(toFloat(properties.amount), event = 'subscription_started') AS revenue FROM events WHERE event IN ('signup_completed','subscription_started') AND timestamp > now() - INTERVAL 90 DAY GROUP BY campaign ORDER BY revenue DESC"
}

The output

The agent returns campaigns ranked by quality and revenue, not just signup count.

Setting it up

Persist campaign attribution onto signup and revenue lifecycle events. If spend is not in Agentry, the agent can still rank revenue and conversion.

Variations

  • “Only compare campaigns from last quarter.”
  • “Show campaigns with high signups but low paid conversion.”
  • “Publish this as a finance review dashboard.”

Try this recipe in your own agent.

Ask your agent to adapt the starter prompt to your saved signal map and live events, then run it against your data.

Install agentry.sh/install.md for me
Agent will onboard itself and then your app