Marketing

Campaign execution, content flow, attribution, and traffic.

Command

Marketing

Digital Ads Command

Google Ads, Meta Ads, LinkedIn Ads, and GA4 should resolve into one paid-media operating surface. BigQuery will become the durable truth layer once the connectors are live.

Executive Layer

This is the shape the Google Ads / paid dashboard should follow once the data lands.

Connector-aware

Spend

--

Waiting on connected account data

Impressions

--

Waiting on connected account data

Clicks

--

Waiting on connected account data

CTR

--

Waiting on connected account data

Avg CPC

--

Waiting on connected account data

Conversions

--

Waiting on connected account data

Cost / Conv

--

Waiting on connected account data

ROAS

--

Waiting on connected account data

BigQuery Truth Layer

Paid, analytics, and future offline-conversion joins should land here before we trust cross-channel conclusions.

Planned

ad_accounts

Daily grains + connector freshness + account ownership will land here.

campaign_daily_fact

Daily grains + connector freshness + account ownership will land here.

ad_group_daily_fact

Daily grains + connector freshness + account ownership will land here.

keyword_daily_fact

Daily grains + connector freshness + account ownership will land here.

landing_page_fact

Daily grains + connector freshness + account ownership will land here.

conversion_action_fact

Daily grains + connector freshness + account ownership will land here.

Paid Channel Comparison

Compare or hide networks once data is live. For now, this is the connector posture and the dashboard slots each one will fill.

4 channels

Meta Ads

No ad metrics imported

Not Connected
Spend
CTR
CPC
Conversions

Google Ads

No ad metrics imported

Not Connected
Paid search performance
CPL
Conversions
ROAS

Google Analytics 4

No sessions imported

Not Connected
Sessions
Landing pages
Source / medium
Conversion events

LinkedIn Ads

No campaign analytics imported

Not Connected
Impressions
Clicks
Leads
CPL

Google Ads Campaign View

This is the exact critical-field shape the digital ads view should render once Google Ads data is flowing.

14 critical fields
CampaignStatusChannel TypeBudgetSpendImpressionsClicksCTRAvg CPCConversionsConversion RateCost / ConvConversion ValueROAS
Awaiting connected campaigns--------------------------

Campaign Data Flow

Campaign objects stay in Marketing, performance rolls here, and the dashboards reference the same campaign identity.

One campaign spine
Campaign brief -> campaign record -> channel deployment
Google Ads / Meta Ads / LinkedIn Ads metrics -> BigQuery campaign_daily_fact
GA4 sessions + conversions -> landing page + attribution context
Sultan summary layer -> explain spend, winners, waste, and next tests

Connector Guardrails

We should not pretend these numbers are live until the connectors, BigQuery load, and freshness checks are all visible.

Governed
Show connected account, last sync, and freshness on every paid dashboard.
Do not blend channel numbers into one score until BigQuery is the join layer.
Surface spend, conversions, and ROAS by campaign before rolling into totals.
Keep manual labeling visible when data is placeholder or account access is incomplete.