Combining channel data into one answer: a guide for marketers
By the Analistable team · Updated · 2 min read
Marketers juggle spend from each ad platform, conversions in GA4, email results and leads in the CRM. The useful questions, such as cost per qualified lead by channel, need those files joined on date, campaign or UTM values. Analistable loads the exports in your browser and answers those questions in plain English.
The multi-sheet jobs marketers actually do
Each platform reports its own numbers in its own format, and each claims credit generously. The work is lining them up so spend, conversions and pipeline sit on the same row.
- Cross-channel spend roll-up: stack Meta, TikTok, LinkedIn and Google Ads spend into one table by date and campaign.
- Spend to conversions: join ad cost to GA4 conversions on campaign or UTM to get cost per conversion that uses one source of truth.
- Leads to customers: match UTM-tagged leads to CRM deals to see which campaigns produce revenue, not just form fills.
- Email performance: join email campaign results to GA4 conversions to see what each send actually drove.
- Monthly channel report: rebuild the same report every month from fresh exports without redoing the lookups.
| File | Typical source | Join key |
|---|---|---|
| Ad spend by campaign and day | Meta, Google, TikTok, LinkedIn Ads | Date + campaign name |
| Conversions by source/medium/campaign | GA4 | utm_campaign |
| Leads with UTM fields | Form tool or CRM | Email, utm_campaign |
| Deals and revenue | CRM | Contact email or ID |
| Campaign results | Email platform | Campaign name, date |
Campaign names rarely match exactly between platforms and UTM tags. A small mapping sheet (platform name → reporting campaign) saves hours and makes every later join reliable.
How Analistable helps
Upload the exports or connect GA4 and Google Sheets, then ask "what was cost per lead by channel last month, and how many of those leads became deals?". Analistable writes read-only SQL across the files, shows the answer as a table, and lets you check the query. Your files stay in your browser and are never changed. If you only need the stacked spend file, the free CSV combiner does that without an account.
Start here
- Build a cross-channel marketing report from CSV exports
- Combine Meta, TikTok and Google Ads spend
- Marketing channel report template
- Merge UTM campaign data with CRM leads
- Merge GA4 data with Google Ads cost data
- Match Google Ads conversions to CRM deals
- Merge email campaign results with GA4 conversions
- Combine LinkedIn Ads and HubSpot lead data
- Find leads that never became customers
Frequently asked questions
- Does this replace an attribution tool?
- No. It joins the data you already have and answers questions about it. It does not track users or build attribution models; it helps you compare what each platform and your CRM report.
- Do I need to clean campaign names first?
- It helps. Ask Analistable to list campaign names that appear in one file but not the other, then add a mapping sheet for the mismatches and join through it.
- Is customer data from my CRM safe to load?
- The rows are processed in your browser and not stored on Analistable servers. Only the column names, and samples if you allow them, are sent to the AI to write the query.