A revenue intelligence stack is not a shopping list. It is a flow of evidence from market activity to business outcome. The architecture should make that flow reliable, explainable, and maintainable for the team that will own it.

Layer 1: Define the Business Questions

Write the decisions the stack must support: where to allocate spend, which content deserves expansion, which sources create qualified pipeline, how acquisition cost changes, and where the journey loses buyers. Questions determine the grain, refresh rate, and integrations you actually need.

Layer 2: Instrument the Journey

Use consistent campaign parameters. Capture landing pages and referrers. Define meaningful website events. Preserve first and recent source values when a lead becomes known. Record lifecycle timestamps in the CRM. Establish stable contact, company, deal, campaign, and transaction identifiers.

Layer 3: Ingest the Sources

Bring in advertising delivery and cost, organic search performance, social results, web behavior, CRM lifecycle data, and—when required—payment or product revenue. Start with scheduled extracts that meet the decision cadence. Real-time infrastructure is unnecessary for a monthly planning meeting.

Layer 4: Preserve Raw Data

Store source responses before transformation. Include extraction time, account, date range, and schema version. Raw history allows the team to replay transformations, investigate vendor changes, and recover when a business rule was wrong.

Layer 5: Normalize and Model

Create shared dimensions for date, channel, campaign, content, contact, company, and deal. Map inconsistent source values into controlled categories. Build event and milestone tables, then create reporting models for spend, pipeline, revenue, and journey touches.

Do not skip the semantic layer

“Qualified pipeline,” “marketing sourced,” and “revenue” need one documented definition each. Otherwise every dashboard becomes a new argument.

Layer 6: Validate Continuously

Layer 7: Attribute With Restraint

Begin with first-touch, last-touch, and milestone views. Compare them. Add multi-touch allocation only when identity coverage and journey completeness justify it. Keep unattributed outcomes visible and report the model’s assumptions.

Layer 8: Deliver an Operating Report

Build the final layer around decisions: executive outcomes, channel roles, journey patterns, data confidence, and recommended actions. Provide drill-downs for diagnosis, but keep the primary view concise.

A Sensible Build Order

  1. CRM lifecycle and revenue hygiene
  2. Campaign taxonomy and source capture
  3. Reliable cost and performance ingestion
  4. Normalized channel and campaign models
  5. Pipeline and revenue reporting
  6. Journey and attribution analysis
  7. Automation, monitoring, and enrichment

The stack is finished only temporarily. Business definitions change, platforms revise schemas, and customer journeys evolve. Assign ownership, document changes, and calibrate the model as an ongoing operating practice.

Reference: Google notes that traffic-source scope and campaign values affect attribution; preserve scope and naming decisions explicitly in the model.