What to send us
Everything Galileo needs to build your marketing mix model — a single weekly spreadsheet — and, just as importantly, everything you don't have to gather. No dashboards, no data-warehouse access, no customer data.
One file
A weekly spreadsheet, one row per week
Export it as a .csv and send it over. That's the whole ask.
Required
The three things it must contain
Your call
What the outcome measures — and what comes back
Tell us how to read the outcome column; the model adapts, and it's honest about the limits.
Full financial guidance — ROAS, marginal returns, and dollar recommendations on where to move budget.
Efficiency and reallocation in cost per incremental order / conversion. No revenue or ROAS — the outcome isn't money.
A traffic model only — where each channel drives traffic and where it saturates. No budget recommendations: traffic isn't revenue, and optimizing for it can misallocate spend. Send revenue or conversions for financial advice.
Granularity
Channels and sub-channels
A "channel" is just any spend column you want a separate answer for — so sub-channels are channels. Break them out into their own columns whenever you want per-sub-channel guidance:
google_search google_shopping youtube_video youtube_shorts meta_feed meta_reels
One catch worth knowing: the model can only separate two sub-channels if their spend varies independently over time. If YouTube Video and Shorts budgets always move together, they're mathematically inseparable — and Galileo will say so rather than invent a split. Same for a sub-channel too small to leave a trace.
Rule of thumb: split a sub-channel out only if it has meaningful spend and some independent movement. Otherwise, combine them — the report tells you when you've sliced too fine.
Scope
Multiple products, personalized ads
Galileo models at the business level: one total outcome, total spend per channel. It tells you which channels drive your total — it doesn't split by product or by creative.
Content quality and personalization are baked into each channel's number: if your ads are better, that channel's measured return is simply higher. You see the result, not the mechanism.
Want product-level answers? Model a product on its own only if it has its own dedicated spend and revenue history. Want to prove a personalization lift? That's a holdout test — which is exactly what Galileo recommends when the data alone can't resolve an effect.
Optional
Currency, and things that sharpen it
Currency: USD EUR GBP INR BRL MXN AED SGD HKD — a label for how money is shown; the model itself is currency-agnostic.
Optional event markers, only if you already have them — none is required:
- promo_depth — 0–1 per week (0.2 = 20% off), or 0/1 for “a promo ran”.
- stockout — 1 the weeks a key product was out of stock, else 0.
These enter as linear event controls. Honestly: at typical sample sizes their effect is modest, and promo handling is a known limitation we don’t yet claim removes bias — so include them if handy, but the audit runs fully on the weekly file alone. Richer context — seasonality, past lift studies, channel pauses — is captured in the optional interview, each checked against the data before it can affect the model.
The good part
What you don't need to send
- —No channel-by-channel attribution. You give one total number; splitting it across channels is the job we do.
- —No holiday or seasonality data. The model derives seasonality itself.
- —No customer or personal data. Weekly totals only — nothing at the individual level.
- —No pixels, tags, or platform access. Just the spreadsheet.
Example
A week looks like this
date,revenue,google_search,meta_ads,tv_ctv,email_sms
2025-01-06,412900,38000,52000,90000,6000
2025-01-13,398500,36500,49000,90000,6500
2025-01-20,431200,41000,53500,90000,6000
…
If the data can't support a confident answer, the report tells you so — plainly, with the reason. That's the product working as designed, not a failure.