All guides
๐Ÿ“Š

Core feature ยท All plans

Daily Marketing Reports

Every day at your chosen time, Marketing Pulse compiles all your ad spend, revenue, ROAS, and campaign data into a single clear report โ€” and sends it to your email and/or Slack. Here is everything that is inside.

What you get

๐Ÿ’ฐ

Ad Spend

Total spend across all connected Meta and Google Ads campaigns for the previous day.

๐Ÿ’ต

Attributed Revenue

Shopify orders attributed to your ads via UTM tracking. Only orders with a matching UTM source are counted.

๐Ÿ“ˆ

True ROAS

Return on Ad Spend calculated as Revenue รท Spend. Colour-coded: ๐ŸŸข above your threshold, ๐ŸŸก borderline, ๐Ÿ”ด below.

๐Ÿ†

Top Campaigns

Up to 5 best-performing campaigns ranked by ROAS, with spend and platform shown for each.

๐Ÿ””

Smart Alerts

Automatic warnings when ROAS drops vs yesterday, spend exceeds your budget limit, or ROAS falls below your threshold.

๐Ÿ–ฑ๏ธ

Engagement metrics

Total impressions, clicks, and Shopify orders, so you can track top-of-funnel and bottom-of-funnel in one place.

What the report looks like

Both your email and Slack report contain the same data. The email uses a clean HTML template; Slack uses Block Kit with a colour-coded left stripe.

๐Ÿ“Š Daily Marketing Report โ€” Wed, Mar 12, 2026
your-store.myshopify.com

๐Ÿ’ฐ Ad Spend

$842.50

Total across all platforms

๐Ÿ’ต Revenue

$6,120

Attributed orders

๐ŸŸข ROAS

7.27ร—

Revenue รท Spend

๐Ÿ–ฑ๏ธ Clicks

1,240

Across Meta + Google

๐Ÿ›’ Orders

38

Shopify orders

๐Ÿ“ฃ Impressions

48,200

Total reach

๐Ÿ† Top Campaigns

Summer Sale MetaMetaROAS 9.1ร—$310
Brand Search GoogleGoogleROAS 6.4ร—$220
Retargeting โ€” AbandonedMetaROAS 2.1ร—$180

๐Ÿ”” Alerts

ROAS dropped 22% vs yesterday ยท Google Shopping

Alert severity:

Healthy
Warning
Critical

Alert severity

Green โ€” Healthy

ROAS is above your low-ROAS threshold and no spending anomalies detected. All good.

Yellow โ€” Warning

ROAS dropped by more than your drop-threshold % vs yesterday, or spend is approaching your limit.

Red โ€” Critical

ROAS is below your low-ROAS threshold, or spend has exceeded your high-spend warning. Pro merchants also receive an SMS.

โš™๏ธ

You set your own thresholds in Settings โ†’ Alert thresholds. Default: low ROAS = 1.5ร—, ROAS drop = 20%.

When is the report sent?

Reports are generated and dispatched by a scheduled cron job that runs every hour. When the current hour matches your configured Delivery time in the timezone you set, the report is sent.

Email and Slack are sent concurrently at the same moment. SMS (Pro plan only) is sent separately for critical-alert-only events.

๐ŸŒ

Timezone matters. If you are in Europe/Kyiv and set delivery at 9:00 AM, the report arrives at 9:00 AM Kyiv time โ€” regardless of where the server is located.

Configure delivery time and timezone in Settings โ†’ Email delivery.

Frequently asked questions

What time period does the report cover?

The report covers the previous calendar day (yesterday) in UTC. If you receive your report at 9:00 AM on March 13, it covers ad data from March 12 00:00โ€“23:59 UTC.

What if I have no ad accounts connected?

The report will show zero spend and revenue with a note that no ad accounts are connected. Connect at least one Meta or Google Ads account in the Integrations tab.

How is ROAS calculated?

ROAS = Total attributed Shopify revenue รท Total ad spend. Revenue is attributed via UTM parameters on orders. Only orders from the same day with a matching UTM source/medium are included.

Why is my revenue showing as $0 even though I have orders?

Attribution requires UTM parameters on your ad links. Make sure your Meta and Google campaigns have UTM tracking enabled. Orders without UTM data cannot be attributed to an ad campaign.

Can I see reports for previous days?

The dashboard shows the last 30 days of campaign data. Each daily report is a snapshot of that day โ€” historical reports are not re-sent by email, but the data remains visible in your dashboard.

Ready to read your first report?

Make sure email delivery is configured in Settings and at least one ad account is connected in Integrations.