Marketing analytics column definitions
Contents
This page documents the column definitions used in marketing analytics, including how each metric is calculated and where the data comes from for each advertising platform.
Understanding "Reported" vs PostHog conversions
Marketing analytics displays two types of conversion data:
Reported conversions - Conversion data reported directly by the ad platform (Google, Meta, LinkedIn, etc.). These use the platform's own tracking pixel and attribution model.
PostHog conversion goals - Conversions you define in PostHog using events, actions, or data warehouse tables. These use PostHog's events and your custom attribution rules.
Examples:
| Type | Example conversions |
|---|---|
| PostHog conversion goal | Any event you track: user signed up, completed checkout, subscribed to newsletter, started trial, upgraded plan |
| Reported (ad platform) | It can track the same! Any conversion you defined. They key difference is the source of truth. |
Why does this matter?
- Reported conversions may differ from PostHog conversions due to different attribution windows, tracking methods, and data freshness
- Ad platforms count conversions based on their own pixel data and attribution models (e.g., 7-day click, 1-day view)
- PostHog conversion goals give you flexibility to define exactly what counts as a conversion and how it's attributed
- Use reported metrics to reconcile with your ad platform dashboards; use PostHog goals for custom attribution
Standard columns
These columns are available for all platforms in the marketing analytics dashboard.
Display columns
| Column | Description |
|---|---|
Campaign | Campaign name from the advertising platform. Matched against utm_campaign in your conversion events if matching field is Campaign name. |
Source | Ad platform identifier (e.g., google, meta, linkedin). Matched against utm_source in your conversion events. |
ID | Platform-specific campaign identifier. Matched against utm_campaign in your conversion events if matching field is Campaign ID. |
Base metrics
| Column | Description | Higher is... |
|---|---|---|
Impressions | Number of times ads were displayed | Better |
Clicks | Number of clicks on ads | Better |
Cost | Total ad spend in your base currency | Worse |
Reported Conversion | Number of conversions reported by the ad platform | Better |
Reported Conversion Value | Monetary value of conversions reported by the ad platform | Better |
Calculated metrics
| Column | Formula | Description | Higher is... |
|---|---|---|---|
CPC | Cost / Clicks | Cost per click - average cost for each ad click | Worse |
CTR | (Clicks / Impressions) × 100 | Click-through rate - percentage of impressions that resulted in clicks | Better |
Reported ROAS | Reported Conversion Value / Cost | Return on ad spend - revenue generated per dollar spent (as reported by the platform) | Better |
Note: All calculated metrics are rounded to 2 decimal places. Division by zero returns null.
Platform field mappings
Each advertising platform provides data using different field names. PostHog normalizes these into the standard columns above.
| PostHog Column | Google Ads Field | Notes | Platform Docs |
|---|---|---|---|
Campaign | campaign.name | Human-readable campaign name | |
ID | campaign.id | Unique campaign identifier | |
Impressions | metrics_impressions | Google Ads API - Metrics | |
Clicks | metrics_clicks | Google Ads API - Metrics | |
Cost | metrics_cost_micros | Divided by 1,000,000 (stored in micros). Converted from customer_currency_code or USD. | Google Ads API - Metrics |
Reported Conversion | metrics_conversions | Platform-tracked conversions | Conversion Reporting. Google Ads API - Metrics |
Reported Conversion Value | metrics_conversions_value | Monetary value of conversions | Google Ads API - Metrics |
| Date field | segments_date | Used for date range filtering |
Required tables: campaign and campaign_stats
| PostHog Column | Meta Ads Field | Notes | Platform Docs |
|---|---|---|---|
Campaign | name | Campaign name from campaigns table | |
ID | id | Campaign ID | |
Impressions | impressions | Meta Marketing API | |
Clicks | clicks | Meta Marketing API | |
Cost | spend | Converted from account_currency if available | Meta Marketing API |
Reported Conversion | actions array | Extracted by filtering for purchase and omni_purchase action types, summing value field | Meta Marketing API, Ads action stats |
Reported Conversion Value | action_values array | Extracted by filtering for purchase and omni_purchase action types, summing value field | Meta Marketing API, Ads action stats |
| Date field | date_stop | End date of reporting period | Meta Marketing API |
Required tables: campaigns and campaign_stats
Special handling: Meta stores conversions in JSON arrays. PostHog extracts purchase-related conversions using:
| PostHog Column | LinkedIn Ads Field | Notes | Platform Docs |
|---|---|---|---|
Campaign | name | Campaign name | |
ID | id | Campaign ID | |
Impressions | impressions | LinkedIn Marketing API - Reporting | |
Clicks | clicks | LinkedIn Marketing API - Reporting | |
Cost | cost_in_usd | Already in USD, converted to base currency if different | LinkedIn Marketing API - Reporting |
Reported Conversion | external_website_conversions | Website conversions tracked by LinkedIn | LinkedIn Marketing API - Reporting |
Reported Conversion Value | conversion_value_in_local_currency | Returns 0 if field not available | LinkedIn Marketing API - Reporting |
| Date field | date_start | Start date of reporting period | LinkedIn Marketing API - Reporting |
Required tables: campaigns and campaign_stats
| PostHog Column | Bing Ads Field | Notes | Platform Docs |
|---|---|---|---|
Campaign | name | Campaign name | |
ID | id | Campaign ID | |
Impressions | impressions | Microsoft Advertising API - Reports | |
Clicks | clicks | Microsoft Advertising API - Reports | |
Cost | spend | Converted from currency_code if available | Microsoft Advertising API - Reports |
Reported Conversion | conversions | Microsoft Advertising API - Reports | |
Reported Conversion Value | revenue | Microsoft Advertising API - Reports | |
| Date field | time_period | Reporting time period | Microsoft Advertising API - Reports |
Required tables: campaigns and campaign_performance_report
| PostHog Column | TikTok Ads Field | Notes | Platform Docs |
|---|---|---|---|
Campaign | campaign_name | Campaign name | Basic reports doc |
ID | campaign_id | Campaign ID | Basic reports doc |
Impressions | impressions | All TikTok Metrics | |
Clicks | clicks | All TikTok Metrics | |
Cost | spend | Converted from currency if available | Basic reports doc |
Reported Conversion | conversion | Basic reports doc | |
Reported Conversion Value | total_complete_payment_rate | Returns 0 if field not available | All TikTok Metrics |
| Date field | stat_time_day | Daily stat timestamp |
Required tables: campaigns and campaign_report
| PostHog Column | Reddit Ads Field | Notes | Platform Docs |
|---|---|---|---|
Campaign | name | Campaign name | Reddit Ads API |
ID | id | Campaign ID | Reddit Ads API |
Impressions | impressions | Reddit Ads API | |
Clicks | clicks | Reddit Ads API | |
Cost | spend | Divided by 1,000,000 (stored in micros). Converted from currency if available. | Reddit Ads API |
Reported Conversion | key_conversion_total_count | Total key conversions | Reddit Ads API |
Reported Conversion Value | conversion_purchase_total_value + conversion_signup_total_value | Sum of purchase and signup values | Reddit Ads API |
| Date field | date | Reporting date | Reddit Ads API |
General notes: The Reddit API docs are not very specific on the fields, so we've linked to the ad group docs where there are examples of the fields.
Required tables: campaigns and campaign_report
Currency handling
PostHog converts all costs to your base currency for consistent reporting across platforms.
| Platform | Source Currency Field | Default Assumption |
|---|---|---|
| Google Ads | customer_currency_code | USD |
| Meta Ads | account_currency | Base currency |
| LinkedIn Ads | Always USD (cost_in_usd) | USD |
| Bing Ads | currency_code | Base currency |
| TikTok Ads | currency | Base currency |
| Reddit Ads | currency | Base currency |