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.
“Qualified pipeline,” “marketing sourced,” and “revenue” need one documented definition each. Otherwise every dashboard becomes a new argument.
Layer 6: Validate Continuously
- Reconcile spend with platform totals.
- Reconcile pipeline and revenue with CRM reports.
- Monitor missing and unknown channel rates.
- Test uniqueness and required relationships.
- Flag unusual day-over-day or month-over-month changes.
- Sample real customer journeys manually.
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
- CRM lifecycle and revenue hygiene
- Campaign taxonomy and source capture
- Reliable cost and performance ingestion
- Normalized channel and campaign models
- Pipeline and revenue reporting
- Journey and attribution analysis
- 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.