How to Migrate Off Hyros Without Losing Your Click History
A step-by-step plan for leaving Hyros with your ad-click history, past sales and conversion feeds intact, so year-over-year reporting doesn't reset to zero.
The fear that keeps most teams on an attribution tool they’ve outgrown isn’t the price or the features. It’s the history. If you migrate off Hyros the lazy way, by installing a new pixel and cancelling the old account, every lead who clicked an ad before the switch shows up in the new tool as “organic” or “unknown.” For a high-ticket offer with a 30- to 90-day path from first click to payment, that means two or three months where your reporting is quietly wrong and your best campaigns look like they stopped working.
It doesn’t have to go that way. A clean migration is mostly a sequencing problem: run both systems in parallel long enough, export the right files before you lose access, and load them into the new tool in an order that rebuilds each contact’s journey instead of just dumping rows. This guide walks through that sequence. It’s written with Callix as the destination because that’s what we know best, but the same plan applies to moving between any two attribution tools.
Why click history is the part you can’t afford to lose
Revenue is easy to bring over. Your payment processor has every charge, and almost any tool can import a CSV of sales. What’s hard to reconstruct is the link between a sale and the ad that started it, because that link lives only in the attribution tool’s own records of who clicked what, when.
Here’s why it matters in practice. Say you book 120 sales calls a month off Meta and YouTube, your average lead takes five weeks from first click to close, and you switch tools on March 1. Every deal that closes in March and April was sourced by a click that happened in January or February, inside the old tool. Without that click history, the new tool sees a payment from a contact it first met in March, with no ad attached. Your March ROAS by campaign drops off a cliff, not because anything changed in the ads, but because the evidence stayed behind.
That’s also the window where someone on the team suggests cutting a campaign. A migration that drops click history doesn’t just make reports look bad. It produces bad decisions.
What to export from Hyros before you cancel
Do the exports while your account is fully active. Don’t wait for the last week of the billing cycle. As of October 2026, Hyros lets you export reports from its reporting view as CSV (or to Google Sheets), choose which columns to include, and export the sales and calls list behind a report. Menu names change, so check the current Hyros docs, but you’re after three things:
- An ad-click export. One row per tracked click, with the contact’s email (and phone if available), the timestamp, and the campaign, ad set or ad group, and ad. This is the file that carries your history.
- A sales export. Every attributed sale with the buyer’s email, amount, date, and product. You want the sales Hyros recorded, not just what’s in Stripe, so you can reconcile the two.
- A calls export, if you track booked calls in Hyros. Useful for spot-checking show rates and booking counts after the move.
Pull a wider date range than you think you need. Twelve to eighteen months is reasonable for a coaching or consulting offer, since some buyers sit in your audience for a long time before they apply. Save the raw files somewhere permanent. Even if the import goes perfectly, you’ll want the originals the first time someone asks why a number moved.
A quick sanity check on the export
Before importing anything, open the click file and look at three things: how many rows have an email (rows with no identifier can’t be matched to anyone), whether timestamps include a time zone or at least a consistent format, and whether campaign and ad names look like the names you see in Ads Manager today. If you’ve renamed campaigns since, note it now. It saves a confused hour later.
Run both tools in parallel for at least one sales cycle
Install the new pixel and connect your ad accounts, calendars and payment processors while Hyros is still running. Give it at least one full sales cycle, and ideally a cycle and a half. If your median lead takes five weeks to close, run both for six to eight weeks.
Parallel running does two jobs. First, it lets the new tool start collecting first-party clicks and sessions on its own, so going forward you aren’t relying on imported data at all. Second, it gives you an overlap period where you can compare the two tools week by week. They won’t agree to the dollar, because they use different matching rules and attribution windows, but they should agree on direction: the same top campaigns, roughly similar lead counts, close revenue totals. If they’re wildly apart, find out why before you cut over. The usual culprits are a page the new pixel isn’t on, a checkout on a separate domain, or a form that submits without passing the session along.
If anything in your stack depends on data Hyros receives, like a webhook that pushes sales into it, keep feeding it during the overlap. In Callix, outbound webhooks can send new leads, stage changes and payments (with the campaign they’re attributed to) to Hyros, Zapier or your own backend, which is handy for keeping the old system fed until you’re ready to switch it off.
Importing clicks: rebuild journeys, don’t just append rows
This is the step that preserves history, and how the destination tool handles it matters more than anything else in the migration. A good click import should do four things:
- Match each click to an existing contact by email or phone, rather than creating a new contact per row.
- Place the click in the contact’s journey at its original timestamp, not the import date.
- Keep the full ad hierarchy (campaign, ad set or ad group, ad) so the click can be credited at every level.
- Update the contact’s first-touch and last-touch attribution to reflect the imported clicks, since a click from January should now be the first touch for a contact the new tool first saw in March.
In Callix, you load the Hyros ad-click export under CRM → Import → Import ad clicks. Each click is added to the matching contact’s journey at its original time, with its campaign, ad group and ad, and the contact’s first and last ad update to match. You can check the file first to see what would change before committing, and importing the same file again adds nothing twice. That last part is more useful than it sounds: you’ll often want to export again from Hyros at the end of the overlap period to catch the most recent clicks, and you can load the newer file without worrying about doubling anything.
Order of operations
Import clicks before you rely on any revenue reports, and ideally before importing sales. The sequence that causes the fewest surprises:
- New pixel live and collecting for a few weeks.
- Import the Hyros ad-click file.
- Import historical sales.
- Re-export clicks from Hyros at the end of the overlap and import again.
- Cancel Hyros.
Importing past sales
Most of your payments will already flow in once you connect Stripe, Whop or whatever processor you use, and a connected processor usually backfills recent history. Importing the Hyros sales file covers the gaps: sales from processors you no longer use, payment plans recorded somewhere else, or deals entered by hand.
Callix has a Hyros option under CRM → Import sales that loads a Hyros sales export directly, and imported sales record what was sold, so the product filter works for them too. Watch for overlap with your live processor connection. If a sale exists both in Stripe and in the Hyros export, decide which source is authoritative for that period. A simple rule: use the connected processor for anything it covers, and import from Hyros only the date range or products it doesn’t.
After importing, compare total revenue by month against your processor’s dashboard. They should match within a few percent. A big gap usually means a duplicated period or a currency mismatch.
Keep your ad platforms fed without double-firing
A migration touches the conversion events you send back to Meta and Google, and this is where people accidentally poison their pixel. Two risks:
Double sending during the overlap. If both Hyros and the new tool send a Purchase event for the same sale, Meta may count it twice unless the events share a deduplication ID. Pick one system to own server-side conversions during the overlap. Usually that’s the old tool until cutover day, then the new one.
Historical events landing as today’s results. When you import months of past sales, you do not want each one firing a fresh Purchase to Meta with today’s date. That would tell the algorithm you had a record week and teach it the wrong audience. Callix sends Meta, TikTok and LinkedIn the date a call or payment actually happened, and a conversion older than the platform accepts (7 days for Meta) isn’t sent automatically. Leads that arrive through an import or backfill also don’t fire a Prospect Created conversion.
If some events did fail or get skipped around the cutover, for example during a day when the Meta connection was being re-authorized, you can re-send them from Event Logs rather than leaving a gap in what the platform saw. See our walkthrough on the Facebook Conversions API for how deduplication IDs and event times work on Meta’s side.
A migration checklist
| Step | When | Done when |
|---|---|---|
| Export clicks, sales, calls from Hyros | Week 0 | Raw CSVs saved somewhere permanent |
| Install new pixel on every page, including checkout and confirmation | Week 0 | Test visit shows up with source and ad |
| Connect ad accounts, calendars, processors | Week 0 | Spend, bookings and payments appear |
| Import ad clicks | Week 1–2 | Spot-check 10 known buyers: journeys show pre-switch clicks |
| Import historical sales | Week 2 | Monthly revenue matches processor within a few percent |
| Compare tools weekly | Weeks 2–8 | Same top campaigns, similar totals |
| Move conversion sending to new tool | Cutover | Event logs show events accepted by Meta and Google |
| Final click export and re-import | Cutover | No new rows duplicated |
| Cancel old tool | After cutover | Old webhooks and scripts removed from pages |
The spot-check in row four is the one people skip. Pick ten buyers you know came from a specific ad before the switch, open their records in the new tool, and confirm the original click is there with the right campaign. Ten minutes, and it tells you whether the import actually worked.
What changes after you switch
Once the history is in, the new tool’s reports should look continuous: no cliff on cutover day, and March revenue credited to the January campaigns that earned it. From there the reason you moved should start paying off. For most teams leaving Hyros, that’s connecting the sales-call layer to attribution, seeing show rates, close rates and what was said on calls next to the ad that sourced each lead. Our comparison page lays out where Callix and Hyros differ if you’re still deciding, and how to tie ad spend to closed-won revenue covers the reporting you’ll want to rebuild on the other side.
One last piece of advice: remove the old tracking script from your pages after you cancel. A dead script that still loads slows down your funnel, and a live one that still fires can keep sending events to an ad account long after anyone remembers it’s there.
