What the Spider 2.0 SQL Benchmark Says About Marketing Data
It grades SQL against gold answers on enterprise databases, including Google Analytics ones, and its scores have moved a long way since the first release. It does not grade what a channel caused, which no gold answer in your export can.
Three platforms, three answers, one budget to defend. Your GA4 export already holds the answer, and the first finding is free and never leaves your browser. Get your first finding free
By Joris van Huët, Founder & CEOUpdated 4 min read
Spider 2.0 includes GA4 in its tests: its paper says the databases come from industrial applications such as Google Analytics, and one printed example asks for sessions per traffic channel in a period.
What does Spider 2.0 test?
The paper (Lei et al., ICLR 2025 Oral, peer-reviewed) describes 632 real-world text-to-SQL workflow problems derived from enterprise-level database use cases, in systems such as BigQuery and Snowflake, often with over 1,000 columns. Its appendix describes two Google Analytics tasks: count the sessions for each traffic channel within a given time period, and compute the conversion rate from product-list clicks to product pages. The leaderboard splits the benchmark into three settings: Snow (547 tasks on Snowflake), Lite (547 tasks across BigQuery, Snowflake and SQLite) and DBT (68 project-level tasks). The page says the final output should be CSV files, not SQL, and it publishes gold answers for self-evaluation, so what is scored is the answer the query produces.
What do the scores show today?
The same benchmark gives different numbers by setting, by the system wrapped around the model and by date. Rows are submissions from the organisations listed beside them, and the page describes a submission process in which the maintainers validate methods. This is the top entry and a GPT-4o baseline for each setting, as read on 30 September 2026:
| Setting | Top leaderboard entry | Spider-Agent with a GPT-4o baseline |
|---|---|---|
| Snow | 96.70, Genloop's Sentinel Agent v2 Pro | 12.98 (GPT-4o-2024-11-20) |
| Lite | 76.23, Tianqiong Data Agent + GLM 5.2 | 13.16 (GPT-4o-2024-11-20) |
| DBT | 65.6, SignalPilot Agent | 7.35 (GPT-4o) |
One model, three numbers, depending on where you read and when. The page itself says scores "may change slightly over time".
What does it leave out for attribution?
The two Google Analytics examples are descriptive: sessions per channel, a click-through rate. Each has a correct table to compare with. "What did this channel cause?" does not, because it asks about sales that did not happen, and data on the sales that did happen cannot answer it without a design or stated assumptions. Gordon, Zettelmeyer, Bhargava and Chapsky (Marketing Science, 2019, peer-reviewed) used 15 US advertising experiments at Facebook and found that observational methods often fail to reproduce the experimental effects. A holdout or geo test answers the causal question.
The databases are also not yours. Google says the BigQuery export can differ from the GA4 interface, and GA4 deduplicates purchases only when they carry a transaction ID. And a score belongs to one system: a row on this leaderboard is not the assistant you use.
How do you check SQL on your own data?
Take a closed month and do at small scale what the benchmark does: fix the answer first.
- Write the plain query yourself: distinct transaction IDs and summed purchase revenue, by day.
SELECT
event_date,
COUNT(DISTINCT ecommerce.transaction_id) AS orders,
SUM(ecommerce.purchase_revenue) AS revenue_as_exported
FROM `your_project.analytics_PROPERTY_ID.events_*`
WHERE _TABLE_SUFFIX BETWEEN '20260801' AND '20260831'
AND event_name = 'purchase'
GROUP BY event_date
ORDER BY event_date;
- Reconcile to Shopify. Compare orders for the same days and time zone. Expect a gap, and measure it once: that gap is your baseline, and a model-written query is judged against it, not against zero.
- Ask the LLM the same question and for its SQL. Run that SQL yourself.
- Pass: the same orders and revenue as your query on every day, or a difference it explains with a filter it stated, such as refunds. Fail: an unexplained difference, totals that match over days that do not, or a query that counts purchase events instead of distinct transaction IDs.
- Repeat once with a filtered question, such as a single channel group.
An LLM is still a fair way to draft this query and explain its joins, and the leaderboard lists systems scoring far above the plain GPT-4o baseline. The check is what lets you use it without taking its numbers on trust.
Sources, 30 September 2026: Spider 2.0: Evaluating Language Models on Real-World Enterprise Text-to-SQL Workflows (Lei et al., arXiv, 2025); Spider 2.0 full text (Lei et al., arXiv, 2025); Spider 2.0 leaderboard (XLANG Lab, read 30 September 2026); A Comparison of Approaches to Advertising Measurement (Gordon et al., Marketing Science, 2019); BigQuery Export (Google, 2026); Minimize duplicate key events with transaction IDs (Google, 2026).
Related answers
Frequently asked questions
Did GPT-4o really solve only 10.1% of Spider 2.0 tasks?
That is the figure in the benchmark page's introduction. Its Snow leaderboard lists Spider-Agent with GPT-4o-2024-11-20 at 12.98, and the top entries are far higher. Check the model snapshot, the setting and the date before you quote a number.Does Spider 2.0 include Google Analytics data?
Yes. The paper says its databases are sourced from industrial applications such as Google Analytics, and its appendix describes GA4 tasks such as counting sessions per traffic channel. Those tasks are descriptive: they have a correct answer table, unlike a question about what a channel caused.Can I trust SQL that an LLM writes for my GA4 export?
Trust it after you check it. Run the query, compare orders and revenue with your own query and with Shopify for the same days, and use the gap you already had as the baseline.
Go deeper: Incrementality testing, explained.
Sixty-second versions of these ideas: Causality Engine on YouTube Shorts.
Have an audience of ecommerce operators? Earn 20% recurring commission by recommending the €99 read.
Keep reading
Terms in this article
- AttributionAttribution identifies user actions that contribute to a desired outcome and assigns value to each. It reveals which marketing touchpoints drive conversions.
- Conversion rateConversion Rate is the percentage of website visitors who complete a desired action out of the total number of visitors.
- Google AnalyticsGoogle Analytics is a web analytics service that tracks and reports website traffic.
- Holdout TestA holdout test is an experiment that keeps a random part of an audience from seeing a campaign and compares its results with those of the part that could see it. The held-out part is the control group, so the gap in outcomes estimates what the campaign added.
- IncrementalityIncrementality is the part of an outcome, such as orders or revenue, that a marketing activity caused: the extra results compared with what would have happened without it. It is a causal effect, not the number of conversions credited to a channel.
- Incrementality TestingIncrementality Testing measures the additional impact of a marketing campaign. It compares exposed and control groups to determine causal effect.
- Product PageProduct Page is a webpage dedicated to a single product. It includes images, descriptions, pricing, and purchase options.
- Product PagesProduct Pages are individual pages on an e-commerce site that describe a specific product. They provide detailed information to shoppers.