Skip to content
Workflow · Search and ads · Opening soon

ROAS by campaign

See ad spend and order revenue by campaign in one weekly view. ROAS is revenue divided by spend, with a simple status for each campaign.

Early access opens shortly. Check back soon.

Someone typed

“show every google ads campaign by week matched to our shopify orders by utm campaign, calculate roas as revenue divided by spend, and show status Agrees at 2 or more, No revenue at 0, Low ROAS below 2”

The agent read it as

show every Google Ads campaign spend campaign by week matched to our Shopify orders by utm campaign, calculate roas as revenue divided by spend, and show status Agrees at 2 or more, No revenue at 0, Low ROAS below 2

What the agent built

4 steps, each one an ordinary Mammoth step you can open and change.

  1. File
    Google Ads campaign spend
    CSV export · 21 rows
  2. File
    Shopify orders
    CSV export · 23 rows
  3. Step
    Sum spend by week and campaign
    Step 1
  4. Step
    Sum orders by week and campaign
    Step 2
  5. Join
    Add Shopify revenue
    19 of 21 paired
  6. Step
    Set roas status
    Step 4
  7. Result
    Campaign ROAS by week
    21 rows · 9 flagged
  8. Schedule
    Runs when you say
    Proposed

Checked on the sample files: every step ran, 21 rows came out, and the join paired 19 of 21 rows.

What you get back

The result of that run, the rows to look at first.

Campaign ROAS by weekSample data21 rows
12 agrees7 low ROAS2 no revenue
WeekCampaignSpendRevenueROASStatus
2026-10-05search_generic71000No revenue
2026-10-26shopping_core50000No revenue
2026-09-07search_generic6801,2401.82Low ROAS
2026-09-14search_generic7201,3501.88Low ROAS
2026-09-21retargeting_video2603201.23Low ROAS
2026-09-21search_generic7001,1801.69Low ROAS
2026-09-28search_generic6901,2601.83Low ROAS
2026-10-12search_generic7351,3001.77Low ROAS
2026-10-26search_generic6801,2801.88Low ROAS
2026-09-07search_brand4201,7404.14Agrees
2026-09-07shopping_core5101,6203.18Agrees
2026-09-14search_brand3901,7504.49Agrees
21 rows in the result · 12 shown, problems first. Sample data: illustrative figures, not business results.

How do you calculate ROAS by campaign?

Export campaign spend from Google Ads and order data from Shopify. Match rows by week and utm campaign, then divide revenue by spend to get ROAS. The workflow also marks each campaign as Agrees at 2 or more, Low ROAS below 2, or No revenue at 0.

How it works

How to use the Campaign ROAS by week workflow

  1. 1Get early accessWe invite people in small batches, job by job. You'll land on this workflow, already built and checked on the sample files.
  2. 2Swap in your exportsUpload your own files as they come out of your tools. The agent checks the workflow on your rows.
  3. 3Change it in words, then turn it onSay what to change and see the new result before anything saves. Then choose when it runs.

Campaign ROAS by week: questions

Which export should you use?
Use a Google Ads export with campaign spend by date, and a Shopify export with orders and revenue. The files need the campaign name or utm campaign and a date field so rows can be grouped by week.
What happens to rows that do not match?
Rows that do not find a match stay out of the joined result for that rule. You can still keep them in the source tables or review them separately, depending on how you set up the workflow.
How do you change the rules?
Edit the rule text in plain words, then rerun the workflow. For example, you can change the week grouping, the match field, the ROAS threshold, or the status labels.

Get early access to this workflow

It will open already built and checked on the sample files. Swap in your own exports and see your result.

Early access opens shortly. Check back soon.

Workflows like this

Decide which pages to keep, update or prune, and find the search terms that spend without converting.

All search and ads templates →