15 prompts marketers actually reuse (copy-paste library) (steal these, verify each)
Published September 16, 2026
The 60-second version
- Vague prompts get confident guesses. Naming table, filters, grain and maturity lifts exact-match from 41% to 79% on the same model.
- Fifteen prompts cover three jobs: pace the money daily, diagnose the move weekly, decide budgets monthly.
- The fix: audit inside-out — JOINs first, WHERE in English, grain matched — and never trust a number without its SQL.
A marketer types "why did ROAS drop last week?" into an AI analyst. Thirty seconds later comes a confident answer with a chart. It is also wrong — it read gross revenue as net, counted two platforms' claims together, and judged seven-day-old buying on yesterday's data.
The failure is not the model. It is that a vague prompt gets a confident guess, while a prompt that names tables, filters, grain and maturity gets a checkable answer. The fifteen prompts below are the ones worth reusing — each with the sentence that makes it verifiable.
Why most AI prompts fail on warehouse data
A text-to-SQL tool fails silently. The query runs, the chart renders, and the number answers a different question than asked. Three missing specifics cause nearly every miss:
No table named
Revenue lives in five places — gross, net, platform-claimed, modelled, delivered. Unnamed, the model picks the first match and reports it confidently.
No filter stated
Paid only or all orders? New customers or repeats? Same-day or matured 7-day? Every unstated filter is a coin flip the model calls for you.
No grain given
Per day, per campaign, per order? The wrong grain fans out joins 5–10x — revenue multiplies with zero errors and a beautiful chart.
Golden-dataset testing puts numbers on it: vague prompts score ~41% exact-match on real schemas; the same questions with table, filter and grain named score ~79%. Same model, same data — the prompt was the upgrade. name it or the model guesses it
Fluency is not accuracy. A fluent paragraph with a wrong number is more dangerous than an error message — the error gets fixed, the paragraph gets pasted into a deck. Every prompt below ends with the sentence that forces checkability: what table, what filter, what grain.
The 15 prompts, grouped by job
Fifteen sounds like a lot. It is three jobs with five prompts each — pace the money, diagnose the drop, decide the budget. Steal the pattern, swap in your names.
Three jobs, fifteen prompts
Data JourneyPace
Are we spending on plan, and is the signal mature enough to read?
Diagnose
What moved — spend, traffic, conversion, or the counting itself?
Decide
Scale, hold, or kill — on matured, deduplicated, blended numbers.
Pace — the daily five
1. The pacing check. "From ad_spend_daily, total spend 1–12 Sept vs prorated monthly budget of ₹12,00,000, by platform. Use account timezone Asia/Kolkata. Tell me pace ratio and projected month-end."
Why it works: names the table, the window, the timezone and the maths — no room to annualise the wrong column.
2. The maturity gate. "For the same dates, what share of conversions historically arrives within 1, 3 and 7 days (from last quarter's lag curve)? Flag any day too young to judge." Why it works: forces the model to say "yesterday is unreadable" instead of judging it.
3. The freshness check. "From raw_ad_spend, what is MAX(ingested_at) per platform? Anything over 26 hours stale gets a warning, not a verdict."
Why it works: separates broken pipes from broken performance before anyone panics.
4. The view-share glance. "Split Meta conversions into click vs view for the last 7 days from the platform export. Flag any campaign above 30% view share." Why it works: catches the view-stuffed headline before it sets a target.
5. The duplicate detector. "Count duplicate order_ids in orders for the last 7 days and list the top 3 ingestion hours. Dedup on order_id before any revenue maths."
Why it works: one duplicated webhook doubles revenue — this prompt quarantines it first.
A pacing prompt that cannot answer "is the data old or is the business slow?" is unfinished. Prompts 2 and 3 exist to force that sentence.
Diagnose — the weekly five
6. The drop autopsy. "Blended MER fell from 4.2x to 3.1x week-over-week. Decompose into spend effect vs revenue effect using warehouse net revenue and total spend. Rule out freshness and window changes first." Why it works: orders the causes — pipes, counting, then business — instead of theorising about creative first.
7. The split that finds the wall. "Split the MER move by new vs returning revenue (is_first_order) and prospecting vs retargeting spend (audience tag). Which pool moved the total?" Why it works: finds whether acquisition decayed or harvest shrank — opposite cures.
8. The definition diff. "Two teammates quote ₹34L and ₹41L revenue for August. Diff gross_total vs net revenue (net of discounts, refunds, tax) from orders and show which definition each used."
Why it works: turns a meeting argument into a 30-second diff — the shipped-SQL move.
9. The incrementality sniff test. "Retargeting claims 420 orders on ₹2,00,000. At a 20% assumed incrementality share, what is implied true CAC? Compare against ₹900 contribution per order." Why it works: reprices the dashboard number before it prices the budget.
10. The change-log cross. "List Google Ads change history for the last 14 days (budget, bid, audience edits) alongside daily click-only conversions. Rank coincidences by mechanism, newest first." Why it works: most breaks have authors — the log is guilty until proven innocent.
Prompt 6, vague vs specific, same data
Decide — the monthly five
11. The blended verdict. "Compute blended CAC for August: total acquisition spend over warehouse new customers. Include fees and tools in spend. Compare against ₹900 contribution and 4-month payback bar." Why it works: complete numerator, deduplicated denominator — the board number, not the platform's.
12. The cohort read. "For Jan–Apr cohorts, plot cumulative contribution per customer by age month. At what age did each cross blended CAC? Compare cohorts at equal ages only." Why it works: bans the young-cohort smear and the churned-denominator trick in one sentence.
13. The sale pricer. "Diwali week showed 6x revenue ROAS. Recompute on promo margins, subtract the 2-week post-sale hole, and report net lift — not headline lift." Why it works: prices the discount, the pull-forward and the anchor instead of recording revenue.
14. The golden-question grader. "Run these 5 verified questions against the current schema notes and report exact-match vs verified answers. Quote the SQL for each miss." Why it works: scores the setup, not the vibes — definitions improve, models get swapped honestly.
15. The ignore list. "For this month's report, list three metrics I should ignore and why — one vanity, one immature, one double-counted." Why it works: the DataLens promise in one prompt. Ignoring well is half of analysis.
Making every answer checkable in 60 seconds
Fifteen prompts are useless if their answers cannot be audited. Four habits make any answer convictable — and the fourth is non-negotiable.
The 60-second audit, every time
Process FlowRead FROM and JOINs first
Which tables? One left row matching many right rows means fan-out — revenue multiplies with no error. Ask it in the prompt: aggregate before joining.
Translate WHERE to English
Paid only? New customers? Matured window? Compare that sentence to your question — most misses live here, not in the SELECT.
Check the grain
Per day, per campaign, per order — does the GROUP BY match the noun you asked about? A per-day answer to a per-customer question is a different question.
Demand the SQL
No query, no trust. Re-run it, diff it against last week's, check the byte estimate. A number without its query is a rumour with formatting.
The pattern below is what a good prompt produces — note the maturity filter, the dedup grain and the explicit net definition. Ask for these three lines and most silent failures die at birth:
Matured, deduped, net — the audit-friendly pattern
How specific is your prompt? Score it before sending:
Under 3 specifics the model guesses tables, filters and grain. Expect a fluent, confident, wrong number.
The reusable-prompt checklist paste this atop any prompt →
- Name the table — orders, ad_spend_daily, or the exact view. Never let the model pick.
- State the filters — paid only, new vs all, which dates, which timezone, matured or live.
- Fix the grain — per day, per campaign, per order — and demand aggregate-before-join.
- Demand the SQL — re-runnable, with a byte estimate. No query, no trust.
Quick gut-check
One question. Get it and the whole post clicks. 30 seconds, no maths!
“Why did ROAS drop?” returns a confident chart that mixed gross revenue with platform double-counting. What fixes it?
Frequently asked questions
Won't long prompts cost more tokens?
Trivially more prompt tokens, massively fewer wrong-answer tokens — and far cheaper warehouse bills, because a specified prompt scans rollups instead of raw tables. Specificity is the cheapest accuracy upgrade and the cheapest cost control at once.
Should I save these as custom instructions or paste each time?
Paste the four-line checklist as persistent instructions (table, filters, grain, SQL demanded); paste the job prompt fresh each time with dates and thresholds filled in. Permanent specifics rot — windows and budgets change — while the checklist pattern never does.
What if the model still picks the wrong column?
That is a schema-context failure, not a prompt failure — five revenues with similar names will fool any wording. Fix it once in schema mapping: document which column is net revenue and the trap columns beside it. Prompts select; definitions decide.
How do I stop teammates pasting unverified answers into decks?
Make the SQL the price of admission: no query attached, no number in the deck. Teams that enforce this for a fortnight start writing better prompts unprompted — visible queries are a tutoring system disguised as an audit trail.
Do these prompts work on any AI analyst, not just DataLens?
Yes — tables, filters, grain and maturity are universal. The DataLens-specific part is only the guarantee: every answer ships its SQL, so the 60-second audit is always possible. Elsewhere, add "show the full SQL" as line one of every prompt.
The summary
- Vague prompts get confident guesses. Naming table, filters, grain and maturity lifts exact-match from ~41% to ~79% on the same model.
- Fifteen prompts cover three jobs: pace the money daily, diagnose the move weekly, decide budgets monthly.
- Every prompt ends with its verifiability sentence — what table, what filter, what grain — or it is unfinished.
- Audit every answer inside-out: JOINs first, WHERE translated to English, grain matched to the noun, SQL demanded.
- Compute on matured windows, deduplicated orders and net revenue — or the answer judges half the buyers against all of the spend.
- No query, no trust. A number without its SQL is a rumour with formatting, however fluent the paragraph around it.
Takeaways for your next report
- Vague prompts get confident guesses — naming table, filters, grain and maturity lifts accuracy from 41% to 79%.
- Fifteen prompts cover three jobs: pace daily, diagnose weekly, decide monthly.
- Audit inside-out: JOINs first, WHERE in English, grain matched, SQL demanded.
- No query, no trust — a number without its SQL is a rumour with formatting.
Chinmay Raibagkar
About author →Founder of DataLens AI. He helps non-technical teams read their ad and database numbers with confidence — which number to trust, what to do next, and what to ignore.