Services
Development Services
SEO Services
Automation & AI
Specialized Services
Industries
SEO Attribution
Organic drives the deal. Last-touch hides it.
In B2B SaaS and considered purchases, organic search typically generates the first brand awareness touch. But last-touch attribution gives 100% of the revenue credit to whichever retargeting ad the buyer clicked immediately before converting. That distortion drives underinvestment in SEO for years. We implement multi-touch Markov attribution models that show organic's real contribution to pipeline.
What We Build
Three attribution models and the infrastructure to run them.
First-Touch Attribution
Credits the full revenue value to the channel that generated the first session. Systematically overvalues top-of-funnel channels including organic search and paid brand. Useful as one data point, dangerous as the only model.
- Session stitching across returning visitors
- UTM parameter capture and standardization
- Organic vs. direct channel disambiguation (dark traffic adjustment)
- First-touch organic revenue by landing page
Last-Touch Attribution
Credits the full revenue value to the final session before conversion. The GA4 default. Systematically undervalues organic search and overvalues retargeting and brand-direct channels. Required context for any attribution conversation.
- GA4 last-click model as the baseline comparison
- Branded search disambiguation from non-branded
- Conversion path length distribution
- Last-touch organic revenue vs. multi-touch organic revenue comparison
Multi-Touch Markov Attribution
The most accurate model for B2B SaaS and considered purchases. Markov chain attribution uses removal-effect analysis to distribute revenue credit proportionally across all touchpoints based on their actual influence on conversion.
- Markov chain model built in Python on BigQuery session data
- Transition probability matrix for your actual buyer journeys
- Removal-effect calculation per channel and per touchpoint position
- Organic share of pipeline under Markov vs. last-touch comparison
CRM and GA4 Data Join
Attribution only works when your analytics data connects to actual closed revenue. We join GA4 session data with Salesforce or HubSpot opportunity data in BigQuery so attribution models run against real deal values, not proxy conversion events.
- GA4 client_id to CRM contact matching pipeline
- Lead source standardization across CRM and GA4 naming conventions
- Deal value and close-date joined to originating sessions
- Pipeline attribution table updated daily
Dark Traffic Analysis
A significant portion of organic branded traffic arrives as direct because users type the URL after a prior organic visit. Dark traffic analysis estimates the true organic contribution by modeling the branded organic-to-direct conversion pattern.
- Dark social and dark organic traffic estimation methodology
- Branded search volume to direct session correlation
- Adjusted organic credit accounting for misclassified direct traffic
- Documented assumptions and confidence intervals
Attribution Model Comparison Dashboard
Put all three models side by side. This is where attribution conversations get productive: seeing first-touch, last-touch, and multi-touch organic credit in the same view immediately surfaces the distortion in your current model.
- Side-by-side model comparison in Looker Studio
- Organic revenue delta: what last-touch is hiding vs. what Markov shows
- Channel revenue ranking under each model
- CFO-ready narrative explaining the difference between models
How We Build Attribution Models
Four steps from broken last-touch to accurate Markov attribution.
Step 01
Audit your current attribution setup
We review your GA4 configuration, UTM parameter discipline across all channels, CRM lead source fields, and what attribution model you currently use by default. Most clients are on last-click GA4 attribution with incomplete UTM coverage, which means any attribution data they currently have understates organic by 20 to 40 percent before we even start fixing the model.
Step 02
Fix the data layer before modeling
Attribution models are only as accurate as the session data they run on. If UTM parameters are missing on paid campaigns, if form submissions are not firing GA4 events, or if the GA4 client_id is not being captured in your CRM, the model output will be wrong. We fix these issues before we run the first model. Good attribution starts with good tracking, not good math.
Step 03
Build the BigQuery attribution pipeline
We export GA4 data to BigQuery, join it to your CRM opportunity data, and build the session-path tables that the attribution models need. The Markov chain model runs in Python and writes results back to BigQuery as a table you can query directly. Every step is documented in SQL and Python that your team can audit and modify.
Step 04
Deliver the comparison dashboard and interpretation guide
You receive a Looker Studio dashboard with all three models, a written interpretation guide explaining what the Markov model shows versus what your current last-touch model shows, and a recommended model for ongoing use based on your buyer journey data. We also deliver a one-page CFO summary suitable for a budget meeting.
Attribution in Practice
How multi-touch attribution changed how a SaaS company allocated its growth budget.
The Challenge
A Series B SaaS company was allocating 70% of their marketing budget to paid acquisition and 30% to content and SEO, based on last-touch attribution that showed paid generating 68% of revenue. Their SEO team had circumstantial evidence that organic was driving more pipeline than the numbers showed. but no model to prove it.
Our Solution
We built a Markov chain attribution model using 14 months of GA4 session data joined to Salesforce opportunity data in BigQuery. The model analyzed 4,200 closed deals, mapped the full session history for each deal's associated contact, and calculated removal-effect values for each channel. The analysis took three weeks from data access to final dashboard.
Results Achieved
FAQ
SEO attribution questions
Ready to Find Out What Organic Actually Drives?
Book an attribution audit.
We start with a free review of your current attribution setup and give you an estimate of how much organic credit your current model is hiding before you commit to anything.
- Free attribution setup audit in the discovery call
- CRM and GA4 access required to start
- Full Markov model delivered within 5 weeks