What a DataLens answer looks like
Below is one question taken all the way through: the answer, the chart, the exact SQL that produced it and what running it cost. This is the format of every DataLens AI answer — a result plus the receipt for it.
Sample data. Every number, table name and date on this page is synthetic, invented to show the format. None of it comes from a real account.
“Why did blended ROAS drop last week?”
Asked in plain English, with Google Ads, Meta Ads and an orders table in BigQuery connected.
Spend rose 18%; orders and revenue stayed flat
Blended ROAS fell from 3.10 to 2.60 week over week. Total ad spend rose from ₹3,00,000 to ₹3,55,000 (+18%), almost all of it on Meta (₹1,80,000 → ₹2,30,000). Completed orders were flat (1,240 → 1,235) and revenue from your orders table barely moved (₹9,30,000 → ₹9,23,000). The extra Meta spend has not produced additional orders yet.
| Week | Google spend | Meta spend | Orders | Revenue | Blended ROAS |
|---|---|---|---|---|---|
| Week of 14 Sep | ₹1,20,000 | ₹1,80,000 | 1,240 | ₹9,30,000 | 3.10 |
| Week of 21 Sep | ₹1,25,000 | ₹2,30,000 | 1,235 | ₹9,23,000 | 2.60 |
Before acting: if the new Meta spend went to a fresh prospecting campaign, some of its orders may still arrive — conversion lag makes the latest week provisional. Re-read this in a few days before cutting budget, and check whether the new campaign is reaching new customers.
The SQL behind the numbers
Revenue comes from completed orders in your own table, counted once — not from what either ad platform claims — and dates are converted to the reporting timezone before grouping by week.
WITH spend AS (
SELECT DATE_TRUNC(date, WEEK(MONDAY)) AS week,
channel,
SUM(spend) AS spend
FROM `analytics.ad_spend_daily`
WHERE date BETWEEN '2026-09-14' AND '2026-09-27'
GROUP BY week, channel
),
revenue AS (
SELECT DATE_TRUNC(DATE(created_at, 'Asia/Kolkata'), WEEK(MONDAY)) AS week,
COUNT(*) AS orders,
SUM(net_revenue) AS revenue
FROM `shop.orders`
WHERE status = 'completed'
AND DATE(created_at, 'Asia/Kolkata') BETWEEN '2026-09-14' AND '2026-09-27'
GROUP BY week
)
SELECT r.week,
SUM(IF(s.channel = 'google_ads', s.spend, 0)) AS google_spend,
SUM(IF(s.channel = 'meta_ads', s.spend, 0)) AS meta_spend,
ANY_VALUE(r.orders) AS orders,
ANY_VALUE(r.revenue) AS revenue,
ROUND(ANY_VALUE(r.revenue) / SUM(s.spend), 2) AS blended_roas
FROM revenue AS r
JOIN spend AS s USING (week)
GROUP BY r.week
ORDER BY r.week;- Sources: Google Ads, Meta Ads and shop.orders in BigQuery.
- Dry-run estimate before running: 412 MB scanned, about ₹0.20 at on-demand pricing — under the scan cap, so it ran.
- Read-only: a plain SELECT; anything that writes is rejected before it reaches BigQuery.
- Verify re-runs this exact query live and flags if any number has changed since the answer.
What DataLens suggests asking next
- Which Meta campaign absorbed the extra spend, and what share of its buyers were new customers?
- How does blended ROAS look for the latest week once lagged conversions arrive?
- What is the breakeven ROAS at our current margin?
Ask this of your own data
Sign in with Google to start a 7-day free trial in your own private project — no credit card. Bring your own model key (or request managed models), connect a source, and every answer arrives with its SQL.