What's my paid ads ROAS this month?
True ROAS, not the platform's vanity number.
You'd think this needs a marketing analyst and a multi-touch attribution stack — Astra has the answer with real Stripe revenue, not platform-reported "conversions."
The short answer
Astra answers "what's my paid ads ROAS this month" by pulling spend from Google Ads, Meta Ads Manager, and LinkedIn Campaign Manager, then matching it against Stripe revenue tagged with the same UTM campaign IDs. She doesn't trust the platforms' reported conversions — those count fluffy events like "page view." Instead she joins ad clicks → GA4 sessions → Stripe customer creation → 30-day revenue, then divides revenue by spend per campaign. The output is a Lark table: campaign name, channel, spend MTD, revenue MTD, ROAS, and a recommendation (scale, hold, kill). She also flags any campaign with high spend and zero attributed revenue — the silent budget killers. You stop trusting Meta's optimistic dashboard and start making real allocation decisions.
How Astra actually does it
- 1Pull spend from each ad platform
Google Ads, Meta Ads Manager, LinkedIn Campaign Manager via Composio connectors — month-to-date spend by campaign.
ComposioGA4 - 2Match clicks to Stripe customers
Join ad UTM tags to GA4 sessions, then to Stripe customers by client_id — 30-day attribution window.
StripeGA4 - 3Calculate true ROAS
Revenue from real Stripe charges ÷ ad spend, per campaign. Ignore platform-reported conversions.
- 4Bucket by recommendation
ROAS > 3x → scale. 1-3x → hold and optimize. <1x or zero attribution → kill or pause.
- 5Send to Lark
One-screen summary: total MTD spend, blended ROAS, top 3 winners, top 3 losers, suggested budget shifts.
Lark
What it looks like in chat
Lark message with MTD spend, real Stripe-attributed revenue, blended ROAS, per-campaign recommendation, and a suggested budget reallocation you can execute today.
Weekly Monday + on-demand.
Ask Astra this right now
We'll spin up your workspace, hand the prompt to Astra, and you see the answer in 60 seconds. Free.
Try this with AstraFrequently asked questions
Why not just use Meta/Google's reported ROAS?
Platform ROAS counts "conversions" they define, which often includes page views, add-to-carts, or phantom signups from iOS 14+ modeled data. Astra uses real Stripe charges only, so her ROAS is typically 30-50% lower than what Meta tells you — and accurate.
What attribution window does she use?
30 days by default — long enough to catch SaaS trial-to-paid conversion, short enough to be reactive. You can ask for 7-day or 90-day if your sales cycle is different.
What if a customer touches multiple ads before buying?
Astra uses last-touch attribution by default (matches what GA4 reports), but can run a multi-touch view on request — first-touch, linear, or position-based. The recommendations don't change much for early-stage businesses.
Can she actually pause the campaigns or just tell me to?
Both. She drafts the change and asks for confirmation. On approval, she pauses via the platform APIs and posts confirmation to Lark. You can also keep her in advisory mode if you want to execute manually.
Run your one-person company.
Hire your AI team in 30 seconds. Start for free.
Free to start · No credit card required · Set up in 30 seconds