MARKETING
Monthly CAC & Payback Analysis Brief
At month end, an agent reconciles BigQuery spend with Stripe subscription revenue per UTM campaign, computes CAC and payback period, and writes a narrative recommendation brief.
How it runs
The automated pipeline, trigger to output.
- TriggerMonth-end schedule
- ActionFull-month spend per campaignBigQuery
- ActionStripe subscription revenue and countsStripe
- LogicAgent computes CAC, payback, scale/hold/cut
- ActionPublish narrative brief to NotionNotion
- OutputAnnounce brief in SlackSlack
What it does
It turns raw monthly numbers into a decision-ready brief. An agent pulls each campaign's spend and the subscriptions Stripe attributes to it, derives customer acquisition cost and payback period, then writes a plain-language analysis of which campaigns to scale, hold, or cut.
When to use it
Use it for the monthly marketing review when you need interpretation, not just a table: why CAC moved, which campaigns have healthy payback, and where to reallocate budget. Best when you trust an agent to reason over the reconciled figures.
How it works
- 1A month-end schedule triggers the run.
- 2BigQuery returns full-month spend per `utm_campaign`.
- 3Stripe new-subscription revenue and customer counts are pulled per campaign.
- 4The agent reconciles the two, computing CAC, blended ROAS, and months-to-payback for each campaign.
- 5It reasons over the results to classify each campaign (scale / hold / cut) with rationale.
- 6The narrative brief is published to Notion and announced in Slack for the review meeting.
Set it up
What you configure once, before turning it on.
- 1Connect BigQueryDatasets, queries, schemas.
- 2Connect StripeCustomers, subscriptions, payments.
- 3Connect NotionPages, databases, comments.
- 4Connect SlackChannels, DMs, threads, mentions.
- 5Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
- 6Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
- 7Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.
More Marketing workflows
UTM Link Linter: Block Malformed Tracking URLs Before Launch
Validates every campaign tracking link queued in an Airtable launch table against your UTM naming rules.
Spin up a rush localization handoff from a Slack chat request
A marketer asks the CEO agent in chat to rush-translate a piece of approved copy into specific languages; the agent files the source in Google Drive.
Slack UTM Check: Paste a Link, Get an Instant Verdict
Lets marketers drop a tracking URL into a Slack channel and get an immediate threaded reply that says whether the UTMs are valid, what is wrong, and a corrected suggestion.
UTM Audit for Campaign Spreadsheets in Google Drive
Watches a Google Drive folder for new or updated campaign link spreadsheets, lints every URL inside.
Real-Time UTM Validator API for Link-Building Forms
Exposes a webhook that validates a tracking URL on the fly and returns a structured pass/fail JSON response.
Agentic UTM Taxonomy Steward: Detect, Explain, and Propose Fixes
An agent reviews the full backlog of campaign links in Airtable, reasons about taxonomy drift beyond rigid rules, drafts standardized replacements for malformed UTMs.
Run it inside a business
This workflow drops into a full company template. Import the org, and this is one of the playbooks its agents run.

Run this workflow in your colony.
14-day trial. No DevOps. No Sales call. Provisioned in under a minute.
