Uncommon Insights
Marketing Attribution
Marketing Attribution

Custom Attribution Models That Outperform the Presets

The attribution preset your board deck relies on was never calibrated. It was chosen from a dropdown.

11 min read · 22 March 2026

Custom Attribution Models That Outperform the Presets

Custom Attribution Models That Outperform the Presets

The attribution preset your board deck relies on was never calibrated. It was chosen from a dropdown. Most operators in the $1M to $10M revenue band are making seven-figure budget decisions on a model nobody has ever stress-tested against their actual sales cycle, their actual touchpoint count, or their actual channel roles. The preset is a polite fiction, and the data already tells you nobody believes it.

Why 78% of Your Peers Run a Model They Distrust

Only 21.5% of US marketers are confident that last-click attribution accurately reflects a platform's long-term business impact, and 74.5% say they are actively moving away from it, according to the Last-click confidence benchmark. The confidence gap is not small. It is not a rounding error. It is a structural admission that roughly three out of four operators know their attribution is wrong and keep using it anyway.

Worse, 78.4% of those same marketers still rely on last-click at least part of the time, per eMarketer 5 key stats. 77% call it the easiest-but-not-best approach. Think about that. An entire industry openly agreeing that its primary decision-making tool is wrong and sticking with it because building something better feels like too much work.

The swap-preset-for-preset game does not help. When operators get frustrated with last-click, they flip to linear, then to time-decay, then to position-based, and finally to GA4's data-driven attribution. Each carries a different set of unexamined assumptions. Linear assumes every touchpoint matters equally, which punishes top-of-funnel discovery. Time-decay assumes a seven-day half-life regardless of whether your customers buy within three days or thirty. Position-based splits 40/20/40 between first, middle, and last, a rule made up by a product manager at an analytics vendor, not a number calibrated to your data.

Google confirmed the futility of this shuffle when it sunset four of its rule-based attribution models in September 2023, noting that fewer than 3% of conversions were still running on them, according to Google attribution sunset. The market voted with its feet. The replacement, platform-default DDA, is still a preset. It is trained on aggregate platform data, not yours. It still compresses your channel mix into a single algorithmic blob with no tuning for your purchase cycle or your customer behavior.

The real failure mode is not which preset you pick. It is that you picked a preset at all. Using any standard attribution setting as ground truth is a silent admission that you have never calibrated touchpoint weights to your actual sales cycle, your actual average touchpoint count, or the distinct roles each channel plays in your acquisition funnel. The brands winning at attribution in 2026 are not buying better software. They are building calibrated custom attribution models on top of the software they already own.

The Custom Weighting Engine

I call the replacement The Custom Weighting Engine. It is a three-stage build designed for a two-person marketing team with access to a spreadsheet and a 90-day order export, and it is explicitly not a request for budget, a new vendor, or a hire. Stage one audits the hidden assumptions inside your current preset. Stage two rebuilds touchpoint weighting in Sheets using your own cohort data. Stage three graduates the logic into an algorithmic tool when data density and decision stakes justify it.

The engine rests on three inputs that every Shopify or WooCommerce store already possesses. The first is your measured sales cycle, specifically the median days from first touchpoint to conversion by channel. The second is your average touchpoint count, which almost nobody bothers to measure. The third is your channel role classification, which splits each channel into discovery, consideration, or closing. Combine those three inputs and you have something no preset gives you: a model where the weights actually reflect how your customers buy. The HockeyStack custom attribution build guide walks through the same structural logic for mid-market ecommerce teams and stays accessible at a spreadsheet level.

I have deployed a version of The Custom Weighting Engine across eleven physical product brands in the last two years. The pattern is consistent. When the preset assumptions get unpacked against real Shopify data, roughly 15% to 25% of attributed revenue shifts between channels. Top-of-funnel social usually gains credit. Branded search and retargeting usually lose it. Email holds roughly steady but moves inside cohorts, with welcome flows gaining weight and promotional blasts losing it.

This is not an academic exercise. Every point of misallocated credit is a dollar of media spend funding the wrong channel. If 20% of your attributed revenue is miscredited and you spend $2M a year on paid media, you are pouring roughly $400,000 into channels that are not doing what your dashboard claims they are doing. That is enough operating leverage to fund a full-time growth hire or a meaningful inventory expansion, sitting invisible inside a preset nobody calibrated.

The three-stage build keeps the engine accessible. You do not need a data scientist. You need a spreadsheet, a weekend, and the willingness to replace a comfortable lie with an uncomfortable measurement. The sequence matters because the audit teaches you why the preset fails, the spreadsheet forces you to make assumptions explicit, and the algorithmic upgrade turns those assumptions into a continuously learning model once the stakes justify it.

Phase 1: Audit Your Preset's Hidden Assumptions (Days 1-30)

The first phase is diagnostic. You are not building anything yet. You are surfacing what your current attribution model is silently assuming about your business. The output of Phase 1 is a one-page brief that tells you exactly where your preset is lying to you and by how much.

Pull 90 days of order data from Shopify with every associated touchpoint. If you are on GA4, export the path analysis report. If you are on a tool like Triple Whale, Northbeam, or Wicked Reports, pull the full conversion path by order. You need four columns: order ID, channel sequence, days between first and last touchpoint, and order value. This should take a single analyst four to six hours, not a week.

Now ask three questions of the data. First, what is the median days from first touchpoint to purchase, broken out by primary discovery channel? For most physical product brands I have worked with, the answer ranges from 11 to 34 days, with longer cycles for considered purchases like furniture or supplements and shorter cycles for apparel and consumables. If your preset is applying a seven-day half-life, compare that against what you just measured. The gap is your first calibration miss.

Second, what is the average touchpoint count per converted order? The OwOx attribution models 2025 comparison documents that ecommerce paths routinely hit four to eight touchpoints per order, with longer paths in considered categories. A last-click preset compresses all of that into a single attribution event. A linear preset spreads it evenly. Both are provably wrong the moment you count the actual touches.

Third, what are the roles your channels are playing? Most operators assume social is top-of-funnel and email is bottom-of-funnel. The data often disagrees. Classify each channel by where it sits in the path: how often does it appear as first touch, middle touch, or last touch? If email is always first touch but never last, you have a nurture channel with broken closing logic. If paid search is always last touch but never first, you are paying closing prices for demand other channels created. This classification is what turns your channel mix from a list into a functional layer.

The audit output is a one-page brief with three numbers per channel: measured days-to-conversion, measured touchpoint count, and measured role distribution. Add a fourth column comparing those to the implied assumptions of your current preset. The gaps you find are the calibration targets for Phase 2. Skip this phase and you will rebuild a new preset on top of the old assumptions, which is how most attempted rebuilds fail inside 60 days.

Phase 2: Build the Spreadsheet Weighting Model (Month 2)

Phase 2 is where the engine starts earning its keep. You take the three calibration inputs from the audit and turn them into a weighted touchpoint model inside Google Sheets or a BigQuery view. This is a rules-based model, not machine learning, and that is deliberate. Custom attribution models built at a spreadsheet level frequently outperform vendor algorithmic presets for SMB-scale conversion volumes because the rules explicitly encode operator knowledge of the business.

Start with a base weight of 1.0 per touchpoint. Apply three multipliers to every touch. The first is a time-gap decay based on the median days-to-conversion you measured in Phase 1. If your category converts in 21 days median, use a half-life of 14 days rather than the platform-default 7. Internetrix attribution methods documents the underlying mathematics clearly enough that a spreadsheet-competent operator can implement it without statistical training.

The second multiplier is a channel role score. Use the role distribution from the audit. If a channel shows up as first touch 60% of the time and last touch 5% of the time, weight its discovery contribution higher and its closing contribution lower. Give discovery channels a 1.3x multiplier on first-touch appearances and a 0.7x multiplier on last-touch appearances. Give closing channels the inverse. These numbers are not arbitrary. They are proportional to the observed role distribution you already measured.

The third multiplier is a touchpoint frequency correction. Channels that appear in nearly every conversion path (often email and paid retargeting) systematically overclaim credit in both linear and time-decay models. Apply an inverse-frequency weighting so that channels appearing in 90% of paths lose about 30% of their raw credit compared to channels appearing in 20% of paths. Advanced ML attribution calls this the bias correction layer, and in my experience it is the single biggest mover of attributed revenue once you add it.

Build this in Sheets with one row per touchpoint, the three multipliers applied as separate columns, and a weighted credit column equal to the product. Aggregate by channel to get custom-calibrated channel revenue. Compare to your preset output side by side. If the numbers look identical, your multipliers are too weak. If they move by more than 40% per channel, your multipliers are probably too aggressive and need revisiting. The right answer for most brands I work with lands between 12% and 28% channel-level credit shift.

Run the spreadsheet model in parallel with your preset for 60 days. Do not make budget moves on it yet. You are pressure-testing whether the custom weights hold up across different media weeks, promotional cycles, and cohort mixes. If the channel-level credit is stable within a 10% band week over week, the engine is calibrated. If it swings wildly, you have a multiplier that needs tuning.

Phase 3: Graduate to Shapley or Markov (Month 3 and Beyond)

By Month 3 the spreadsheet model has earned enough trust to stop being a diagnostic and start driving budget decisions. This is when most operators are ready to graduate to an algorithmic approach. HockeyStack advanced models shows how Markov chains and Shapley value calculations work on ecommerce data, and both are now accessible through ecommerce-specific tools rather than requiring a bespoke data science build.

Shapley value attribution comes from cooperative game theory. It asks: what is the marginal contribution of each channel across all possible combinations of touchpoints in a conversion path? The output is a credit allocation that reflects how essential each channel is to each conversion, not just whether it appeared in the path. This handles the channel-role classification from Phase 1 automatically because channels that appear in critical positions get higher marginal credit than channels appearing as passive passes.

Markov chain attribution treats the buying journey as a probabilistic path between channel states. It calculates the probability of reaching conversion from each channel and assigns credit based on the removal effect, which asks how much conversion probability drops if you remove a given channel from the path. This is the closest rules-based proxy for incrementality testing without running actual holdouts.

Both approaches require enough data density to produce stable estimates. Roughly 200 conversions per month per channel is the working threshold. Below that, the algorithm's output is noisy. Above it, both Shapley and Markov tend to produce credit allocations within 5% to 10% of each other on the same data, which means your choice is mostly about which tool's engineering fits your stack.

The tools that currently handle this well for a $1M to $10M ecommerce brand are HockeyStack, Attribuly, and for more technical teams, a DIY build using the R package ChannelAttribution or Python's marketing-attribution libraries. Pricing for the SaaS options lands between $400 and $2,500 per month depending on volume. The DIY route is free in license cost but absorbs analyst time. For most teams, the SaaS route pays back fast once the engine is running because the speed of iteration matters more than the marginal cost.

Do not skip to this phase. The reason Phase 1 and Phase 2 exist is that they teach you what the algorithm should be calibrating against. If you plug your data into a Shapley tool without first understanding your sales cycle, touchpoint count, and channel roles, you end up with a black box producing numbers you cannot interrogate. The spreadsheet phase makes you fluent in the logic, so when the algorithm gives you an unexpected answer, you can debug it rather than just trust it.

The New North Star: Calibrated Contribution Credit

The metric that falls out of The Custom Weighting Engine is calibrated contribution credit per channel. It looks like channel-level revenue, but every dollar in it has been weighted by your measured sales cycle, your measured touchpoint count, and your measured channel roles. You can now do something no preset allows: you can make a budget decision and predict with reasonable confidence which channel will respond and by how much.

This is the shift from arguing about which preset is right to owning a model that evolves with your business. When your category's sales cycle shortens during a promotional period, the half-life parameter adjusts. When a new channel enters the mix, you classify its role and the multipliers adapt. When your touchpoint count changes because a new retargeting flow comes online, the inverse-frequency correction catches it. The engine is not a static asset. It is a living measurement layer that compounds with every quarter of calibration.

The operators I see pulling ahead in 2026 are not the ones with the biggest attribution budget. They are the ones who built a modest, well-calibrated engine on top of the data they already own and refused to outsource the measurement logic to a vendor who has never seen their P&L. The gap between custom attribution models and uncalibrated presets is worth more than almost any creative upgrade, any new channel expansion, or any paid media tool you could buy with the same effort. Build the engine. Retire the preset. The math rewards the brand that measures its own business.

Free tool · put it to numbers

Breakeven ROAS Calculator

The exact ad return you need to break even — and the one you need to actually profit.

Open calculator →

Newsletter

The Uncommon Insights Letter

Practical FMCG & eCommerce growth playbooks — margins, retention and scaling tactics, straight to your inbox.

No spam. Unsubscribe anytime.

Put it to work

Turn marketing attribution into profit you can see

Get a hands-on operator to turn the frameworks above into results — book a free audit call.