What is marketing analytics, and how do you build it in Metabase?
Marketing analytics turns ad spend, traffic, search, product activation, and email signals into shared metrics about how you acquire and keep customers — and what that costs. In Metabase, build it by syncing daily aggregates of those signals into a SQL database, modeling clean ad-performance, traffic, product-event, and email layers, and shipping dashboards that put acquisition next to the revenue data everyone already trusts.
What does marketing analytics measure?
- What does a customer cost, per channel and blended?
- Which campaigns return their spend — and under whose attribution?
- Where does the funnel leak between visit, signup, and purchase?
- Is organic search visibility growing, and on which queries?
- Which acquisition channels send users who activate and stay?
- Is the email program engaging people or burning the list?
- How does spend pace against plan, before the month ends?
Which tools feed marketing analytics?
| Tool | Best for | Getting data into Metabase |
|---|---|---|
| Google Ads | Spend, clicks, and conversions by campaign; ROAS by campaign and channel | Google Ads API (GAQL), pipeline, or Google Ads MCP server for exploration |
| Meta Ads | Spend and conversions by campaign objective; ROAS by campaign and ad set | Meta Marketing API (Insights), pipeline, or Meta Ads MCP server for exploration |
| LinkedIn Ads | Spend and leads by campaign group; Cost per lead by audience and campaign | LinkedIn Marketing API (adAnalytics), pipeline, or LinkedIn Campaign Manager MCP for exploration |
| TikTok Ads | Spend and conversions by campaign; Video view-through rates by creative | TikTok Business API, pipeline, or TikTok Ads MCP (Pipeboard) for exploration |
| Google Analytics 4 | Sessions and conversions by channel; Landing-page conversion rates | GA4 Data API, pipeline, or Google Analytics MCP server for exploration |
| Google Tag Manager | Tag inventory and ownership by container; Publish cadence and version history | Tag Manager API v2, pipeline, or GTM MCP server (Stape) for exploration |
| Google Search Console | Organic clicks and impressions trend; Top queries by clicks and position | Search Console API, pipeline, or Search Console MCP (hosted) for exploration |
| Google AdSense | Estimated earnings trend by site; Page RPM and impression RPM by site | AdSense Management API v2, pipeline, or AdSense MCP server (community) for exploration |
| Plausible Analytics | Visitors and pageviews trend; Traffic sources and campaign mix | Plausible Stats API v2, pipeline, or Plausible MCP (community) for exploration |
| Amplitude | Activation funnel by acquisition channel; Weekly retention cohorts | Amplitude Export API, pipeline, or Amplitude MCP for exploration |
| PostHog | Activation funnel by signup source; Retention cohorts by feature usage | PostHog batch exports, pipeline, or PostHog MCP for exploration |
| Mixpanel | Signup-to-activation funnel; Retention curves by acquisition cohort | Mixpanel Raw Event Export API, pipeline, or Mixpanel MCP for exploration |
| AppsFlyer | Installs by media source and campaign; Cost per install and ROAS by network | AppsFlyer Pull API, pipeline, or AppsFlyer MCP for exploration |
| Mailchimp | Campaign opens, clicks, and unsubscribes; List growth and churn by audience | Mailchimp Marketing API, pipeline, or Mailchimp MCP server (community) for exploration |
| ActiveCampaign | Campaign opens and clicks by list; Automation completion and drop-off | ActiveCampaign API v3, pipeline, or ActiveCampaign Remote MCP for exploration |
| SendGrid | Delivered, bounced, and blocked trend; Open and click rates by category | SendGrid v3 API, pipeline, or SendGrid MCP server (community) for exploration |
| Postmark | Delivery, bounce, and spam-complaint trend; Open and click rates by message stream | Postmark REST API, pipeline, or Postmark MCP server for exploration |
| Resend | Delivery and bounce rates by domain; Broadcast open and click performance | Resend API, pipeline, or Resend MCP server for exploration |
| HubSpot | Leads, deals, CAC joins | API, connector, or HubSpot MCP |
| Stripe | Revenue for ROAS and LTV joins | API, connector, or Stripe MCP |
What shared data models should you build?
Build clean models on top of raw source tables so each dashboard uses the same definitions.
ad_performance_daily— one row per campaign per day per channel, with spend, impressions, clicks, conversions, and conversion valuecampaigns— one row per campaign, with objective, channel, and statustraffic_rollups— daily sessions, engaged sessions, and key events by channel, source, and landing pagegsc_performance_daily— organic clicks, impressions, CTR, and position by query and pageusers— one row per product user, with signup date, activation date, and acquisition channelevent_rollups— daily product event counts and unique usersemail_campaign_stats— one row per campaign send, with delivered, clicks, bounces, and unsubscribesleadsandcustomers— the funnel's bottom, with UTM attribution and acquired-at timestampsbudgets— planned spend by channel and month, for pacing
Which marketing metrics matter most?
- ROAS — conversion value over ad spend, by campaign and channel.
- Customer acquisition cost — spend over new customers, blended or paid-only.
- Cost per lead — spend over leads, raw and qualified.
- Cost per click — the price of attention, compared within a channel.
- Click-through rate — clicks over impressions or delivered emails.
- Landing-page conversion rate — conversions over sessions, per page.
- Organic clicks & impressions — search visibility and what it earns.
- Activation rate — signups reaching the product's value moment.
- Conversion rate and LTV — the funnel and value pair that closes the loop.
How do you connect tools to Metabase?
- MCP + CLI — use MCP for a scoped, summarized live export, then
mb upload csvfor quick analysis. - Warehouse-backed pipeline — sync daily stats, rollups, and entities with APIs or connectors for durable dashboards.
- Modeled layer — map each source into the shared ad-performance, traffic, product, and email models while preserving source-specific extension tables.
Which dashboards should you build first?
- Paid channel performance — spend, ROAS, and efficiency across platforms.
- Ad spend pacing— budget burn against plan, with projections.
- Marketing funnel— visit to signup to customer, by channel.
- Organic search performance — queries, pages, and branded vs. non-branded.
- Paid vs. organic mix— the acquisition balance over time.
- Product retention— activation, cohorts, and channel quality.
- Email engagement— campaign performance, deliverability, and list health.
Common mistakes
Related
Integrations
Analytics
FAQ
What is marketing analytics?
What is the difference between marketing analytics and the reports inside my marketing tools?
Which metrics should a marketing dashboard track?
Which tools feed marketing analytics in Metabase?
How do I handle attribution across channels?
What data do I need to get started?
ad_performance_daily (channel, campaign, date, spend, clicks, conversions), traffic_rollups (channel, landing page, date, sessions, key events), and a customers or leads table with an acquisition channel. That is enough for paid channel performance, funnel, and CAC reporting. Add search, product, and email tables as the questions arrive.Can I build marketing dashboards without a data warehouse?
mb upload csv) — each upload becomes a queryable table and model. That works for spot-checks and one-off analyses. Move to a database-backed sync once dashboards need scheduled refreshes, history for trends, and definitions people can trust; every integration guide documents both routes.