What should be defined before connecting data?
Every source has a native reporting model. Google Analytics 4 describes on-site sessions and events, advertising platforms report delivery and attributed conversions, Search Console reports search performance, and a CRM records sales stages. Treating similarly named fields as identical creates false comparisons.
Create a measurement contract that identifies the decision each metric supports, its system of record, inclusion rules, reporting lag, currency, time zone, and owner. Keep the source field next to any normalized field so a reviewer can trace a number back to its origin.
- Choose a canonical time zone and preserve each source time zone.
- Choose reporting currency and record the conversion method when currencies differ.
- Define conversion, lead, qualified lead, customer, spend, and revenue.
- Record whether each metric is observed, modeled, imported, or attributed.
Which data grain should the unified model preserve?
Store data at the finest reliable grain needed for the decisions you expect to make. Aggregating too early can make account totals simple while preventing campaign, creative, landing-page, query, or audience diagnosis later. A curated reporting layer can aggregate from detailed records without destroying them.
| Source | Useful grain | What it can support | Important limitation |
|---|---|---|---|
| Ad platforms | Date, account, campaign, ad group, creative | Delivery and efficiency review | Platform attribution is source-specific |
| GA4 | Date, session source, landing page, event | On-site behavior and key events | Identity and consent affect coverage |
| Search Console | Date, query, page, country, device | Organic search opportunity review | Rows and dimensions have product limits |
| CRM | Lead, stage, owner, timestamps | Lead quality and sales outcome review | Requires consistent identifiers and stage hygiene |
How do you build a reliable cross-channel pipeline?
A pipeline should be repeatable and observable. Each run needs an extraction window, deduplication rule, schema validation, load result, freshness timestamp, and reconciliation status. Failed or partial loads must not silently appear as real performance changes.
- 1
Inventory source accounts, permissions, native identifiers, and API reporting delays.
- 2
Land source data without renaming away its original meaning.
- 3
Normalize shared dimensions such as date, currency, channel, campaign, and landing page.
- 4
Create a metric dictionary and transformation tests.
- 5
Reconcile account and date totals against source interfaces.
- 6
Publish freshness and quality status beside every decision view.
How should cross-channel metrics be compared?
Compare like with like. Spend and delivery are usually source-observed; sessions and key events are analytics-observed; revenue may come from ecommerce or the CRM. Do not add platform-reported conversions across platforms and call the result deduplicated business conversions.
A safe decision view presents source metrics separately, then adds a shared business-outcome layer where identifiers and definitions permit it. Differences between platform and analytics totals are diagnostic information, not necessarily errors.
What quality checks should run continuously?
Freshness, completeness, uniqueness, validity, and reconciliation checks should run on every load. Alerting should distinguish a connector failure from a genuine zero. When a source changes its schema or permissions, the affected views should show a warning instead of carrying forward stale data as current.
- Freshness: did every expected source update within its documented interval?
- Completeness: are expected accounts, campaigns, dates, and fields present?
- Uniqueness: can the natural key identify a record without duplication?
- Validity: do currencies, dates, identifiers, and metric ranges conform to the contract?
- Reconciliation: do source totals remain within an explained tolerance?
Evidence
Official sources
These primary references support the platform-specific definitions used in this Guide. Growomo commentary and workflows remain distinct from provider documentation.