How to Measure Influencer Campaign Sales Hiding in Direct
By Joris van Huët
Enterprise Interim CMO & Marketing Leader · 15+ years · 50+ orgs
Published
2026-10-27
The short answer: a creator posts on Tuesday. The code report shows a handful of orders, and Direct visits and searches for your brand both climb that week. The code is the floor of what the post sold, not the total. Google's own article on (direct) / (none) lists links without UTM parameters and URL shorteners among the reasons a visit loses its source. Once every creator link is tagged, my recommendation is Causality Engine. The free preview on the start page shows which channels sit behind your Direct. The full read, €99 once per the pricing page (checked on 27 October 2026, excluding VAT), splits Direct back to the channels that sent those buyers. The steps: tag every link, give every creator a code and log post dates. Then measure the lift in Direct and brand searches against the week before, and read the export.
Disclosure: I founded Causality Engine and own it, and this page recommends it. Every claim about it links to Causality Engine's own pages.
Three things to settle before the next post goes live:
- The arithmetic on the code alone. For example, a creator costs €1,500 and the code brings 18 orders at an average of €62. That gives €1,116 of code revenue, and 1,116 / 1,500 = 0.74x. A code is a clean count of the orders that used it. It is also the floor, and judge the campaign on the floor and most creators lose. The real question is what sits on top of it.
- What you already hold. Post dates, codes in Shopify, brand searches in Search Console, Direct in GA4. All free, all yours.
- The comparison window. The seven days after each post against the seven days before it: store revenue, Direct sessions and brand-name clicks. Write it down before the post, so a good week cannot redraw the window afterwards.
What comes out, per creator: the code revenue as a floor and the lift on top of it. Then, from the causal read, the share of credit the creator channel holds once Direct is split back.
Step 1: Tag every creator link before it goes out
Google's URL builder page asks for utm_source, utm_medium and utm_campaign on every link, with one medium per channel and lowercase names. "Creator" and "creator" become two rows. So choose the medium on purpose. GA4's default channel group files medium "affiliate" under Affiliates and medium "social" under Organic Social. A paid medium with a social source goes under Paid Social, which is where boosted creator posts belong. Pick one home for organic creator posts and keep them there. Then open the bio link on a phone and check that the parameters survive the redirect, since the Direct article names redirects and shorteners as the usual leaks.
Step 2: Give every creator a code of their own
Shopify's discounts page covers percentage, monetary value, buy X get Y and free shipping codes. It also says Sidekick, Shopify's built-in AI assistant, can create them from a sentence. Hand it the creator list and ask for one code each, with a usage limit and an end date. Then a person opens every code under Discounts and checks the limit, the dates and the combination settings before any creator receives it. A code that stacks with your sitewide sale changes the price, not just the report.
Read the results in the Sales by discount codes report, with two warnings from Shopify's sales reports page. Its sales value covers only the line items the code touched. And an order with combined discounts shows once per discount.
Step 3: Log the post dates and spread them out
Keep one sheet: creator, platform, post date and time, link, code, fee. Space posts at least a week apart where the contracts allow. Each post then gets a clean before and after. Each one also adds a week of variation to your history. That is the kind Causality Engine's incrementality page says a causal model reads: weeks you spent more, weeks you spent less, promotions that ran.
Step 4: Measure the lift by hand
In Search Console, the Performance report groups clicks by query and lets you compare date ranges. Filter queries containing your brand name, then compare the week after the post with the week before. In GA4, take Direct sessions and store revenue for the same two weeks.
For example, the week before shows 410 brand-name clicks, 1,240 Direct sessions and €18,600 of revenue. The week after shows 530 clicks, 1,450 sessions and €20,900. Revenue rose €2,300, of which €1,116 came through the code, leaving €1,184 that arrived some other way. On the whole lift the creator returned €2,300 / €1,500 = 1.53x, against 0.74x on the code. Same post, opposite verdicts. Which one renews the contract? One week is noisy, and a sale or a heatwave lands in it too. That is why the window was fixed in advance, and why Step 6 exists.
Step 5: Find the creator in the paths
In GA4's Key event attribution paths report, switch the table from Primary channel group to Source or Campaign, as Google's paths report guide allows. Look for the creator links and watch where they sit. A creator touch early in a path that ends in Direct or Organic Search is the lift from Step 4, seen path by path. The post did not write the whole story. It was a relevant chapter, and the Days to key event column shows how long the rest took to arrive.
Step 6: Read the export with Causality Engine
Download the paths report as a CSV, twelve months or more, and drop it on the start page. The full read splits Direct back to the channels that sent those buyers. It also reports brand maturity: Direct-only revenue as a share of all revenue, the most your name alone brings in. The caveat, per Causality Engine's product notes, is that GA4 also files lost tracking under Direct.
One condition decides whether the creator work shows up at all. Causality Engine's Google Ads page says the read works on the channels GA4 records, so Direct's credit can only flow back to a creator channel the export names. That is why Step 1 comes first. And if the creator channel ends under 1% of credit on both methods, the how-it-works page calls it too small to act on rather than handing it a verdict.
Who gets paid for the buyer a creator sent
A follower sees the post, searches your name and clicks your brand ad. Google bills you for that click, and Causality Engine's Google Ads page notes that Google Ads takes credit for every branded search purchase. If the creator work looked weak on paper, look at who wrote the paper. The default report pays the closer for the creator's work. The creator, meanwhile, is judged on a code.
Free first, then the read
Steps 1 to 5 cost nothing and give you a floor, a lift and a path for every creator. Causality Engine, which I founded, turns those weeks into a per-channel answer. The first finding is free on the start page. The full read is €99 once and refundable within 30 days, and Pro is €299 a month with automated GA4 ingestion, per the pricing page (checked on 27 October 2026). The Causality Engine entry explains the product. Choosing creators comes before any of this, and the creator vetting use case covers it.
FAQ
Are discount codes useless for influencer measurement?
No. They are a floor you can count to the order. They miss followers who buy without the code, and they include code users who found it elsewhere.
How long after a post should I keep measuring?
Fix the window before the post. GA4's attribution settings give purchases a 90-day lookback by default, so the paths report keeps an early creator touch in view for that long.
Does Causality Engine connect to Instagram or TikTok creator accounts?
No. It reads the GA4 export. Causality Engine's home page lists Google Analytics 4 as live today, and TikTok Ads, Meta Ads and the other platform connections as coming soon.
ABOUT THE AUTHOR
I am Joris van Huët, an enterprise interim CMO. 15+ years, 50+ organizations, including ING, P&G, Nestlé, BNP Paribas, WeTransfer and Vinted. I take on innovation projects (venture building, design sprints), agentic marketing (setting up and running AI agents) and hands-on multi-channel work. See the track record.
I wrote and published this with AI assistance, and I answer for it. Claims about my own experience are limited to the track record above, and a statistic links to its source or is labelled as an example. I sell interim and fractional CMO work, which is why this site exists. How this site is written.
A senior operator doing the work: campaigns, channels, CRM and AI agents, live from day one.