Your all-in-one guide to submitting clean, complete data and kicking off your MMM journey with no delays.
✅ Overview
Cassandra’s platform is only as good as the data it runs on. That’s why the integration process is one of the most critical steps in your MMM journey.
This playbook outlines:
- Exactly what data is needed
- How to format it properly
- What to avoid
- A clear, step-by-step integration timeline
- Real-world examples of good vs bad data
🧠 When in doubt: simplicity, consistency, and structure win.
🧩 What You’ll Need to Provide
We require data for the past 3 years, wherever possible. This allows the model to account for:
- Seasonality patterns
- Long-term media impact (carryover & decay)
- Shocks like COVID, inflation, or algorithm changes
If 3 years isn’t available, we can still model with 24+ months, but results may have higher uncertainty.
1. Sales / Conversion Data (REQUIRED)
This is your main business outcome — the KPI Cassandra will model and optimize toward.
Must include:
- Date (daily or weekly — choose one)
- Revenue or conversions (e.g. purchases, leads)
- Optional: Margin or average basket value
🔁 Provide at least 3 years of historical data, or the longest consistent set available.
✅ Do:
Date | Revenue |
---|---|
2024-01-01 | 12000 |
2024-01-02 | 9500 |
❌ Don’t:
Date | Rev |
---|---|
Jan 1-4 | 12 K |
2024-01-05 til 10 | 5,000 |
2. Media Spend Data (REQUIRED)
This is the backbone of your MMM. We model the impact of each channel’s investment on your business outcome.
Must include (per channel):
- Date
- Spend (EUR/USD only)
- Optional: Impressions, Clicks, Campaign name
🔁 Please provide media spend for the past 3 years, across all active platforms.
✅ Do:
Date | Spend (€) | Impressions |
---|---|---|
2024-01-01 | 800 | 24000 |
2024-01-02 | 1200 | 10000 |
❌ Don’t:
Date | Spend (€) | Impressions |
---|---|---|
Jan 1 | $800 | 24,000 |
Jan 2 | $1,200 | 10,000 |
- Use non-standard dates
- Combine channels in one row
- Include currency symbols (€, $, etc.)
💡 If available, split channels by campaign type (e.g., Meta Prospecting vs Meta Retargeting)
3. Promotions Calendar (Highly Recommended)
Promotions can skew performance — the model needs to account for them to avoid over-crediting media.
Must include:
- Start & end date
- Description (e.g., “Black Friday”)
✅ Do:
Start | Description |
---|---|
2023-11-24 | Black Friday |
2023-11-25 | Black Friday |
2023-11-26 | Black Friday |
2023-11-27 | Black Friday |
2023-11-28 | Black Friday |
🧠 Even if you’re not sure of the impact, still include the event.
4. External Events (Optional but valuable)
These help contextualize data anomalies and improve accuracy.
Examples include:
- Product launches
- Site redesigns
- Stockouts or shipping delays
- Major press spikes
- Technical outages
- Weather if this influences your revenue
🎯 Campaign Naming Convention (REQUIRED)
To ensure accurate modeling and segmentation of your marketing efforts, we ask all clients to share their naming convention logic for campaigns.
Specifically, we need to understand:
- How you distinguish between Search Brand vs Non-Brand campaigns
- How you label Meta (or other Paid Social) campaigns (e.g., Retargeting, Awareness, Conversion)
- Any prefixes/suffixes or tagging structure you use (e.g., for country, objective, creative type)
This allows us to:
- Group campaigns correctly for modeling (Branding vs Performance vs Retargeting)
- Avoid time-consuming guesswork and misclassification
- Deliver more precise, actionable insights
✅ For example:
- Paid Social campaigns labeled with
ACQ_
,RTG_
, orAWA_
to identify Acquisition, Retargeting, or Awareness - Search campaigns tagged with
Brand
or the brand name - Countries tagged with suffixes like
_ca_
for Canada,_fr_
for France,_us_
for USA
Even a short breakdown of your naming logic or a few representative campaign names will help us get it right the first time.
🧠 Not sure how to share it? Just send us a screenshot, a table, or a short message with examples — we’ll take it from there.
📁 How to Format Your Data
📂 File Structure
- Each tab = one channel or dataset (e.g.,
Meta_Spend
,Sales_2023
) - Avoid merging data types in one tab
📏 Formatting Rules
Element | Format |
---|---|
Date | YYYY-MM-DD |
Spend | Numeric only (e.g., 1250.00 ) |
Missing values | Use 0 , not blanks |
Granularity | Daily or weekly — stay consistent |
🔍 Common Mistakes (and how to avoid them)
Mistake | Fix |
---|---|
Dates like “1 Jan” or “01/01/24” | Use 2024-01-01 |
Currency symbols in values | Use pure numbers only (800 , not €800 ) |
Combining weekly and daily data | Choose one, not both |
Gaps in time series | Fill with 0s or ignore them completely |
✨ Integration Best Practices
✅ Do:
- Use clear file names (e.g.,
Meta_2021.csv
) - Assign 1 point of contact for integration
- Start early — don’t wait until model kickoff
- Label campaigns (prospecting, branded, etc.)
❌ Don’t:
- Submit exports without cleaning
- Use comments in cells
- Combine unrelated channels (e.g., Meta + TikTok in one tab)
🧠 FAQ
Q: What if I don’t have 3 years of data?
We can work with 2 years — but precision improves with more.
Q: I only have conversions, not revenue. Can I still use Cassandra?
Yes! We can model any clear KPI.
Q: What if some campaigns are missing impressions/clicks?
That’s okay — send what you have. Spend is the key variable.
Q: Can I update my data later?
Absolutely. You’ll be able to refresh models monthly.
✅ Final Submission Checklist
- [ ] Sales/conversion data (3 years preferred)
- [ ] Media spend by channel (3 years preferred)
- [ ] Promo calendar
- [ ] External events (optional)
- [ ] All files cleaned, formatted, and labeled
- [ ] API connections tested (if used)
- [ ] Submitted to Cassandra (or shared folder set up)
🛠️ Integration Timeline
Week 1 – Kickoff
- Meet your CSM
- Align on objectives & KPIs
- Review this guide
- Set deadlines
Week 1–2 – Integration Call
- Meet with CSM + Integration Lead
- Review data sources
- Confirm data owners
- Connect APIs (Meta, Google, etc.)
Week 2–3 – Data Delivery
- Submit cleaned files or connect platforms
- Cassandra begins data QA
Week 3 – QA & Finalization
- Fix any flagged issues
- Once validated, modeling begins 🚀