How to populate your Paramark data catalog
Last updated: September 29, 2026
You've just kicked off with Paramark. You're excited to see your first MMM, your first incrementality test, and a clear picture of what's actually driving growth. And then your Growth Advisor hands you a spreadsheet called a Data Catalog and asks you to fill it out.
This article explains what the Data Catalog is, why it matters, and how to fill it out well. It's written in two layers:
a short strategic overview for whoever is sponsoring the Paramark relationship (usually a marketing leader)
a detailed column-by-column reference for whoever is actually going to populate it (usually someone on your data or analytics team). If you're both of those people, read straight through.
The short version: the Data Catalog is the single most important document you'll produce during onboarding. An hour spent filling it out accurately saves weeks of back-and-forth and directly shortens the time to your first MMM.
What is the data catalog and why it matters?
The Data Catalog is your inventory of every dataset you're sharing with Paramark. For each file, table, or sheet, it captures four things: where the data lives, what kind of data it is, how each row is structured, and how campaigns should be grouped in your marketing mix model.
Think of it as a handoff document. Without it, our team has to open each file, guess at what it contains, confirm assumptions with you over Slack, and repeat that process every time your data changes. With a complete catalog, our modeling pipeline knows exactly what to do with each file the moment it lands. The difference in onboarding speed is substantial: customers who fill out the catalog carefully typically see their first MMM one to two refresh cycles faster than customers who treat it as an afterthought.
There's a second reason it matters. The catalog becomes your own reference document. Six months from now, when a new analyst joins your team or someone asks "what tab are we using for the LinkedIn spend again?", the catalog is the answer. It documents your own marketing data in a way most organizations never have before.
How the catalog fits into onboarding
The Data Catalog sits alongside a second document called Sharing data with Paramark, which defines the supported data schemas. Where the schema document tells you what shape your data needs to be in, the catalog tells us what you're actually sharing and where to find it. You'll use both. The catalog points at specific files or tables; the schema document explains what each row of those files or tables should look like.
You'll typically populate the catalog during the data onboarding phase, shortly after your kickoff call. Your Growth Advisor will either co-fill the first few rows with you on a call, or send the template with examples and review it async.
Before you start: Three things to gather
Before opening the catalog, it helps to have three things ready. Doing this reduces the back-and-forth during the walkthrough.
A list of the channels that are in scope for your first marketing mix model. This came out of your kickoff call and the pre-onboarding questionnaire. Common inclusions are Google, Meta, LinkedIn, TikTok, Events, Email, SEO, Direct Mail, OOH, CTV, and Podcasts. If you're not sure whether a channel belongs in the model, ask your GA.
Your primary target metric and whether you have it broken out by geography. For most US customers this means state-level data. For international businesses, it means country plus sub-country (province, region, or equivalent). Geo-level data is what enables incrementality testing alongside your MMM, so the earlier you can confirm the availability of geo data, the better.
A named owner for each channel's data. This is a real person's email address, not a distribution list. If the same person owns three channels, that's fine. If an agency handles a channel, the owner is still someone on your team who can answer questions and escalate to the agency.
How the catalog is organized
The catalog has three sections.
The Legend defines every column in the document. You don't fill this in; you reference it. If you're ever unsure what a column means, the Legend is the first place to look.
The Data Owners table is a short list of who on your team owns each channel's data. This is the first thing to fill out.
The Data Sources sections are where the bulk of the work happens. There's one section per file type: Fivetran, CSV, Excel, Google Sheets, Parquet, and Warehouse. You only need to fill out the sections that apply to you. Most customers use two or three. Within each section there are usually two tables: one describing your files or tables, and one describing how campaigns should be grouped in the MMM.
Column-by-column reference
This section is for whoever is actually populating the catalog. If that's you, the table below is the quickest way to get unblocked on specific columns. Each entry explains what the column means in plain language and flags the most common mistakes we see.
Top-level columns (appear in most tables)
Column | What it means | Common pitfalls |
Store | Where the data physically lives. Either "Drive" (shared Google Drive folder) or "s3" (the S3 bucket you've shared) | Forgetting to pick one; using "local" or "our warehouse" (use the Warehouse section for warehouse data) |
Path | The folder path to the file. For Drive, starts with the shared folder name (e.g. "Paramark <> Acme/Events data/"). For S3, starts with "/" | Using a path that only works from one person's machine |
File name | The exact name of the file, including extension | Forgetting the extension; using a name that doesn't match reality |
Worksheet / Sheet name | For Excel and Google Sheets only: the tab name | Referencing a file-level name instead of the specific tab |
Schema | How each row in the file is structured (see below) | Defaulting everything to "Daily aggregate" regardless of actual shape |
Category | Either "Marketing" (channel inputs like spend and impressions) or "KPI" (business target metrics like signups or revenue) | Marking a target metric as Marketing |
Channel | The marketing channel this data is for. Use "N/A" for KPI rows | Populating a channel name for KPI rows |
Currency | The currency of any spend values in the file. "N/A" if no spend | Leaving this blank; guessing USD when the business operates internationally |
Notes | Any context that would help us interpret the data | Leaving it blank when there are known issues (use it to flag them) |
Schema options
The Schema column deserves its own explanation because it's where most of the confusion lives. It tells us what one row of your file represents.
Schema | One row per | Typical use |
Daily aggregate | One day | Organic channels, total spend per day, daily KPI totals |
Daily campaign-level | One day and one campaign | Paid ad data broken out by campaign |
Monthly aggregate | One month | Events, sponsorships, anything reported monthly |
Time window total | One time window (with start and end dates), totals over the window | OOH, linear TV flights |
Time window daily | One time window with daily average values | Media buys where daily breakdowns aren't available |
Daily geo | One day and one region | KPI data broken out by state or country, required for experimentation |
Post | One post or piece of media | Organic social, where you know total impressions per post but not per day |
If you're unsure which schema fits, open one of your files, look at what uniquely identifies a single row, and match that to the list above. If a row is uniquely identified by the combination of date and campaign name, it's daily campaign-level. If by date alone, it's daily aggregate. If you have geo and date, it's daily geo.
Campaign mappings
Each file type section has a second table for campaign mappings. You only need this for channels where you want to see sub-groupings in your MMM, for example splitting Meta into "Prospecting" and "Retargeting", or splitting Google into "Branded Search", "Non-Branded Search", and "YouTube".
For each sub-group you want to see, you add a row with:
Channel is the top-level channel (Meta, Google, LinkedIn, etc.).
Group name is what you want the sub-group called in your MMM output. This is your label, so pick something you'd be comfortable seeing in a board deck.
Matching columns is the column in your raw data the rule looks at, usually
campaign_name.Matching expression is one of three patterns:
starts with "X",ends with "Y", orcontains "Z".Case-sensitive is whether the match is literal (Y) or flexible (N). Most customers use N.
Two things to remember. Rules are evaluated top to bottom, and the first match wins. So if you have a rule contains "brand" above a rule contains "RTG", a campaign called brand_RTG will match the first rule, not the second. Order your rules from most specific to most general.
And if you don't add any campaign mapping rules for a channel, we'll treat the whole channel as a single group. That's a fine default when sub-group granularity doesn't matter to you. Make it a choice, not an omission.
A walkthrough with a realistic example
Suppose you're onboarding with the following channels: Google Ads (broken into branded search, non-branded search, and YouTube), Meta (broken into prospecting and retargeting), LinkedIn, Events, and Email. Your target metric is daily signups, available by US state.
Your catalog might end up looking like this (showing the structure, not every row):
Data Owners
Channel | Data Owner | Notes |
Meta | ||
Events | Field marketing lead | |
Lifecycle team | ||
Signups (KPI) | Warehouse-owned |
Data Sources (Warehouse)
Warehouse | DB Schema | Table Name | Schema | Update Frequency | Category | Channel | Currency |
Snowflake | paramark_share | google_campaigns | Daily campaign-level | daily | Marketing | USD | |
Snowflake | paramark_share | meta_campaigns | Daily campaign-level | daily | Marketing | Meta | USD |
Snowflake | paramark_share | linkedin_daily | Daily aggregate | daily | Marketing | USD | |
Snowflake | paramark_share | signups_by_state | Daily geo | daily | KPI | N/A | N/A |
Data Sources (Google Sheets)
Path | Spreadsheet | Tab | Schema | Category | Channel | Currency |
Paramark <> Your Co/Events | Events 2024-2025 | Registrations | Monthly aggregate | Marketing | Events | N/A |
Paramark <> Your Co/Events | Events 2024-2025 | Spend | Monthly aggregate | Marketing | Events | USD |
Paramark <> Your Co/Email | Email program | Weekly | Daily aggregate | Marketing | N/A |
How to document OOH costs and list population
OOH is one of the most common places customers pause in the catalog because there are usually two separate jobs: documenting the spend source itself, and deciding whether you also want any breakout list or grouping logic populated.
Start with the spend source. In most cases, OOH belongs in the catalog as Marketing data with a schema of Time window total if each row represents a flight with a start date, end date, and total cost over that window. If you only have evenly spread daily values for the flight, Time window daily may be the better fit instead. The important thing is that the schema matches what one row actually means.
Then decide whether a second list also needs to be filled out. If you want Paramark to break OOH into distinct buckets in the MMM output — for example by market, vendor, creative program, or another recurring naming pattern — populate the relevant grouping or mapping list as well. If you do not need a separate breakout, it is fine to fill the OOH cost source and leave the grouping list empty; Paramark will treat OOH as one channel bucket.
A simple rule of thumb:
Fill both lists when you need OOH spend documented and you want consistent sub-group reporting.
Fill only the cost source list when all OOH spend can stay in a single channel line.
If you are unsure whether the second list is worth the effort, ask: Would we actually make different budget decisions from these OOH sub-groups? If yes, document the breakout now. If not, keep it simple and add the split later if the business starts managing OOH more granularly.
For customers working from spreadsheets, this usually means checking that the OOH tab has clear flight dates, a total cost field, and a stable naming field if you want any breakout logic later. If the costs are already filled but the grouping list is still blank, that is not automatically a problem — it only becomes one if you expected a separate OOH bucket structure in the model.
Campaign Mappings (Warehouse)
Channel | Group Name | Matching Columns | Matching Expression | Case-sensitive |
Branded Search | campaign_name | starts with "brand" | N | |
YouTube | campaign_name | contains "YT" | N | |
Non-Branded Search | campaign_name | N/A (catch-all) | N/A | |
Meta | Retargeting | campaign_name | contains "RTG" | N |
Meta | Prospecting | campaign_name | N/A (catch-all) | N/A |
Notice the ordering in the campaign mappings. The specific rules come first, and the catch-all for each channel comes last. If you reversed that order, everything would match the catch-all and the breakouts would never fire.
Common Questions
Do I have to fill out every section?
No. Only fill out the sections for file types you're actually using. Most customers use two or three of the six sections.
How often should I share impression data with Paramark?
Daily is the best default whenever you can provide it. Daily impression data gives Paramark more signal to work with, makes it easier to spot channel mix changes or campaign anomalies, and helps your Growth Advisor diagnose strange reads faster. Weekly data can still work if that's the cleanest export you have today, but it is less useful for debugging and for interpreting fast-moving periods.
If you're entering a period where spend or channel strategy may change quickly (for example, a seasonal push, a major launch month, or a concentrated campaign window), moving from weekly to daily data is usually worthwhile. If you do switch cadences, make the change explicit in your catalog or notes and flag it to your Growth Advisor so the next refresh is interpreted correctly.
How often are campaign mappings updated?
Campaign mappings are not updated on a fixed automatic schedule. They change when the underlying mapping sheet or catalog entry is updated and the revised mapping is picked up in the next refresh cycle. If you change naming conventions, add a new partner or channel bucket, or notice campaigns landing in the wrong place, update the mapping documentation and flag it to your Growth Advisor so the next refresh uses the new logic.
What does it mean if a campaign maps to null?
A null value usually means none of the current mapping rules matched that campaign row. The most common causes are a new campaign or partner name that was never added to the mapping table, a rule ordering issue where a more general rule is catching traffic before the intended one, or a typo / naming variation that the current expression does not cover. Start by checking the raw value in the matching column, confirm there is a rule for that pattern, and make sure the rules are ordered from most specific to most general.
What if spend from two partners is currently combined into one channel or sheet?
If two partners are being grouped together but you want to analyze them separately, update the underlying data source or mapping documentation so each partner has its own distinct breakout. In practice, that usually means one of three things: splitting them into separate tabs or files, adding a distinguishing column or naming pattern in the raw data, or adding explicit mapping rules so each partner routes into its own group. The right choice depends on where the combination is happening, but the key principle is the same: if the source data combines two partners under one label, the MMM will treat them as one input until that distinction is made upstream or in the mapping logic.
What if a mapping column or tab change disappears from my spreadsheet?
If a sheet is regenerated by an automated process each day, manual columns or edits added directly in that output can disappear the next time the process runs. The safest fix is usually to add the mapping upstream in the source data or re-apply it in a later transformation step after the automated overwrite has finished. If you need a persistent breakout like an affiliate segment, document where that logic should live and flag it to your Growth Advisor so the next refresh uses a stable source instead of a manual spreadsheet-only edit.
What if my data lives somewhere not listed (like a proprietary tool or a BI tool export)?
Export it to one of the supported formats (CSV, Excel, Google Sheets, or Parquet) and document it there. If your data lives in a warehouse we don't have a section for, talk to your GA; we support most major warehouses and can adapt.
Can I update the catalog later?
Yes, and you should. Treat it as a living document. Whenever you add a channel, change a file name, migrate to a new warehouse, or restructure your campaign naming convention, update the catalog. A stale catalog causes silent failures in your MMM refresh.
Do I need campaign mappings if I don't care about sub-channel breakouts?
No. If you leave campaign mappings empty for a channel, we'll treat the whole channel as a single group in your MMM. That's a perfectly valid choice for channels where the breakout doesn't matter.
What if some of my data is from an agency?
List your internal team member as the data owner and mention the agency in the Notes column. The owner should be the person on your team who can escalate to the agency when there's a question.
We have multiple products or business lines. How do I handle that?
Talk to your GA. In most cases we'll either build separate models per product (in which case you'd fill out a separate catalog per product) or add a product column to each of your files. Your GA will walk you through which approach fits.
What happens if I skip the catalog and just share the data?
We'll still be able to work with your data, but every question we have becomes an email, and your first MMM will likely slip by at least one refresh cycle. The catalog front-loads the clarifications so the modeling pipeline can run cleanly.
How can I tell whether a Google Sheets invitation related to Paramark onboarding is legitimate?
If you receive a Google Sheets or spreadsheet invitation during onboarding, treat it as legitimate only after you confirm that it lines up with your active Paramark workstream and comes from the expected person or domain. The safest checks are simple: confirm the spreadsheet name matches the onboarding document you were told to expect, confirm the sender is someone you've already been working with, and when in doubt ask your Growth Advisor before opening or editing the file.
As a rule of thumb, be cautious with invitations from unfamiliar external senders, unexpected spreadsheet names, or requests that do not match the current onboarding step. If something looks off, forward the invite to your Paramark contact and ask them to verify it before you interact with the file.
How to explain the catalog internally
If you need to explain why you're asking a data engineer or analyst to spend an hour on this, here's a short script:
Paramark needs a documented inventory of every data file or table we're sharing with them. It's one spreadsheet, it takes about an hour if we block the time, and it removes almost all of the back-and-forth we'd otherwise have during onboarding. It also gives us our own canonical reference for what marketing data we have and where it lives, which we've never actually had in one place.
And if anyone pushes back on the value:
The alternative is that we share the raw files and Paramark asks us every question they have in real time over Slack. Customers who do it that way typically wait an extra two to four weeks for their first MMM. An hour of documentation saves us weeks of reactive clarification.
Closing Thought
Filling out the Data Catalog is the least glamorous part of onboarding, and also one of the highest-leverage. Everything downstream (your first MMM readout, your first experiment design, your ability to confidently reallocate budget based on measurement) depends on us starting from a shared understanding of what your data actually is.
If you get stuck on a specific column, a specific file, or a specific schema choice, your Growth Advisor would much rather hop on a 20-minute call than receive a partially filled-out catalog two weeks later. Use them. That's what they're there for.
Want to learn more about onboarding? Check out other Paramark onboarding articles here