Hyros No Source Sales: How to Fix Unattributed Revenue

digital advertising
Parcels moving along a sorting conveyor where the front boxes carry completely blank shipping labels, representing sales that reach Hyros with no source attached
No Source is not a reporting quirk. The revenue arrives fine — it just arrives with a blank label where the click history should be.

If Hyros is showing a pile of "No Source" sales, the attribution model is not broken. The sale reached Hyros without a lead record carrying click history, so there was nothing to match it to. Hyros attributes a purchase by tying it back to a lead it identified earlier — at opt-in, on a call booking, at a form submit. When that identification never happened, the money still lands in the report, just with no path behind it. Every fix for No Source lives upstream of attribution, in the capture layer. Nothing you change in your attribution settings will help.

We run Hyros implementations as a core service, and roughly every inherited account we take over arrives with the same conversation: the client has been staring at 30-40% unattributed revenue for months, has opened three support tickets, and has started making budget decisions anyway. That last part is the expensive bit.

Fix revenue before you look at attribution

This is the step everyone skips, and skipping it costs a week.

Before you measure what share of revenue is attributed, confirm Hyros is seeing all of your revenue. Pull a closed date range — last full month is fine — and compare the Hyros revenue total against your payment processor for the identical window. They should be close. If they are not, stop. An attribution percentage calculated against incomplete revenue is a number that means nothing, and you will spend days optimising a denominator that is wrong.

The gaps we find most often:

  • Renewals and rebills firing through a different processor path than the initial sale, with no integration behind it
  • Upsells and order bumps that hit a separate product ID nobody mapped
  • Payment plans counted at first instalment only, or at full contract value, but inconsistently between Hyros and the books
  • Offline and phone-closed deals that live in the CRM and never travel anywhere else
  • Refunds and chargebacks flowing one direction only, so revenue inflates over time

Get the totals to reconcile. Then, and only then, start asking what share of it is attributed.

The one number that predicts everything else

Once revenue is clean, measure the percentage of new leads that have click history attached. That is the health metric for a Hyros account, and almost nobody watches it.

Here is why it matters more than the revenue attribution number people actually look at: attribution is inherited downstream. If 55% of leads carry click history, then call attribution, SQL attribution, and revenue attribution will all land at or below 55%, no matter how perfect your purchase integrations are. You cannot attribute a sale to a click that was never captured in the first place.

70% at the lead level is the working benchmark. Accounts built correctly reach it within two to three weeks of steady traffic. Most accounts we inherit start under 55%. The distance between those two numbers is the entire problem, and it is fixable in days, not quarters.

Why the script does not run

Three causes account for nearly all of the shortfall, and they are all mechanical.

The script is missing on entry points nobody audited

The main funnel always has the script. The pages that leak are the ones built later, by someone else, in a different tool: the webinar registration page a contractor spun up, the lead magnet landing page from a launch six months ago, the quiz funnel the media buyer tested and left live. Open every entry point with the network tab open and watch for the request. Do not trust the tag manager's preview — trust the actual page load in a normal browser session.

The script is blocked before it executes

Ad blockers, browser tracking protection, and corporate network filters block third-party script requests. In B2B audiences this runs 10-20% of sessions, and every one of those is a lead with no click history — invisible in your reports, because a blocked script cannot report that it was blocked.

The fix is a first-party proxy: serve the tracking script from a subdomain of your own domain rather than loading it directly from the vendor. To the browser it becomes a same-site request, and the blocking heuristics that were catching it no longer apply. This typically returns 10 to 15 percentage points of lead attribution, and it is the highest-leverage single change available in most accounts. It is the same logic as self-hosting server-side GTM — get off the third-party domain and the filters stop treating you as a tracker.

The form lives inside an iframe

This is the most common failure we find, and the most frustrating, because everything looks correct. The script loads, the page renders, the form submits, the lead appears in the CRM. But the form is a third-party embed sitting inside an <iframe> — a booking widget, a hosted checkout, a CRM form embed — and the script running on your page cannot read what was typed inside it. No email is captured, so no lead record is created, so the sale that arrives three weeks later has nothing to match against.

Three ways out, in order of how much we like them:

  1. Rebuild the form native to the page. Best outcome, most work. The script sees the submit and captures the email directly.
  2. Post server-side from your form handler. If the form provider offers a webhook, send the lead to the Hyros API from your own backend along with the tracking identifier. Reliable and blocker-proof.
  3. Pass the identifier into the iframe URL. Works with providers that support URL parameters, and fails silently with providers that strip them — verify on a real submission before you trust it.

The call and offline loop

High-ticket funnels close on the phone, which means a large share of revenue enters the business somewhere other than a checkout page. If a closer marks a deal won in the CRM and nothing pushes that event back into Hyros with the buyer's email, the revenue either never arrives or arrives as No Source. Either way, the campaign that generated the call gets no credit.

Wire the CRM stage change to Hyros with the lead email as the key — an n8n workflow or the native integration both work. This is the same discipline that keeps AI voice agent call tracking intact: the identifier has to survive every handoff between systems, and each handoff is a place it can silently drop.

What fixing it actually changes

Unattributed revenue is not randomly distributed. It concentrates in whatever is hardest to track — long consideration cycles, cross-device journeys, assisted conversions, anything that touches a phone. Those are frequently the campaigns doing the most real work, and on reported ROAS they look like the worst performers in the account.

So the honest answer to "does this matter" is that an account below 70% lead attribution is an account where the kill list is wrong. We have watched campaigns move from the cut pile into the top three on the strength of a capture fix alone, with no change to targeting, creative, or budget. Nothing about the campaign improved. The reporting just stopped lying.

That is also why we would not bother having the Hyros versus Triple Whale conversation with anyone whose capture layer is broken. Switching tools does not fix a script that never ran.

A realistic sequence

Work it in this order and it takes days:

  1. Reconcile revenue against the processor
  2. Establish the current lead attribution percentage as a baseline
  3. Audit the script on every entry point, not just the main funnel
  4. Move to a first-party proxy
  5. Fix or replace every iframe form
  6. Close the offline and call loop back into Hyros
  7. Re-measure lead attribution weekly and treat any drop as an incident

The re-measuring step is the one that keeps the account healthy after the repair. Attribution decays quietly — a new landing page ships without the script, a form provider changes its embed, a checkout gets migrated — and the first sign is always a slow drift in the lead attribution percentage, weeks before anyone notices the revenue reports have gone soft. Hyros publishes its own troubleshooting documentation for the integration-specific cases, and it is worth reading alongside this, but the diagnostic order above is what turns a vague "tracking is broken" into a list of things you can actually fix today.

For the full implementation view rather than the repair view, our Hyros attribution setup guide covers building it correctly from the start.

Staring at a wall of No Source sales and making budget calls anyway? We audit the whole capture layer — script coverage, blocking rate, form architecture, offline loop, and revenue reconciliation — and hand you the ranked fix list with the attribution points each one is worth. Get a free automation audit and we will tell you what your real numbers look like before you cut another campaign.