Try it on your own data
Every report in this article is in the free plan. One snippet, cookieless, up to 10 sites.
Start freeSwitching analytics tools is technically trivial and organisationally hard. The snippet takes a minute; the month afterwards, when the new numbers do not match the old ones and three dashboards point at a property nobody updates, is where migrations stall. This checklist is the one we use with teams moving from Google Analytics 4 to TapCub. It is ordered: each check makes the next one easier, and the cutover at the end is boring if the first seven were done.
What you will learn
- An event and conversion inventory you can finish in an hour
- A metric mapping table so the first week of comparisons does not turn into an argument
- A parallel-run plan with clear exit criteria, and what to export before the old property goes quiet
1. Inventory events and conversions
Export the list of events your current property receives, and mark which are conversions. Most properties have three kinds: automatic events you never configured, custom events someone added for a campaign two years ago, and the five or six that actually drive decisions. Only the last group needs to exist on day one. Write them down with the parameters you rely on.
If your site has grown faster than your tracking plan, TapCub’s autocapture and event inbox will propose events from real clicks and form submissions once the snippet is in, which often reveals the events the old plan missed.
2. Map the metric definitions
Most “the numbers are wrong” conversations in the first week are definition mismatches. Users vs. visitors, engaged sessions vs. sessions, bounce rate vs. engagement rate: write the mapping down before anyone compares a dashboard. The table below is the one we hand over. Keep it in the shared doc with the migration plan.
| Google Analytics 4 term | TapCub term | Expect |
|---|---|---|
| Users | Visitors (daily, cookieless) | Daily close; monthly higher in TapCub |
| Sessions | Sessions (30 min, no midnight split) | A few percent apart |
| Engaged sessions / engagement rate | Bounce rate (inverse) | Compare 1 − engagement rate to bounce rate |
| Views | Pageviews | Close if both fire on SPA route changes |
| Conversions / key events | Goals and tracked events | Should match once events are mapped |
| Default channel group | Channels (incl. AI assistants) | Same buckets plus AI referrals |
3. Run both for two to four weeks
Install the TapCub snippet alongside the existing tag and leave both running. Two weeks is the minimum to see a full weekly cycle twice; four is comfortable if you have monthly reporting. During the run, compare shape, not totals: do the trend lines move together, do the same pages lead, do the same sources rank? When they do, the definitions are reconciled and the remaining gap is explained by the definition differences.
Set exit criteria at the start: for example, “daily visitors within 15% once bots are excluded, top ten pages match in order, all five conversions firing.” A parallel run without exit criteria never ends.
Parallel run · exit criteria
Day 14 of 28| Criterion | Target | Current | Status |
|---|---|---|---|
| Daily visitors, humans only | within 15% | 11% | Met |
| Top 10 pages match in order | 10 of 10 | 9 of 10 | Close |
| Top 5 sources match | 5 of 5 | 5 of 5 | Met |
| Conversions firing | 5 of 5 | 4 of 5 | purchase missing on mobile |
| Alerts re-created | 6 | 6 | Met |
Sample migration board. The missing purchase event on mobile was a tag-manager trigger scoped to desktop.
4. Install cleanly, then map the custom events
Put the TapCub snippet in the head of every template, or install the plugin for your site builder. Then map each custom event from the inventory to a track() call with the same name and parameters, so historical comparisons stay readable. For most sites this is a dozen lines. The installation guide covers tag managers and single-page apps.
// keep the old names so year-over-year comparisons stay readable
tapcub.track('begin_checkout', { value: 89, currency: 'USD' });
tapcub.track('purchase', { value: 89, currency: 'USD', order_id: 'A-10422' });
tapcub.track('generate_lead', { form: 'contact' });
// identify logged-in users for retention and profiles
tapcub.identify('user_8f21', { plan: 'pro' });5. Rebuild funnels and dashboards
List every dashboard, scheduled report and funnel that points at the old property and who owns each. Rebuild the ones people actually open; retire the rest. This is usually the moment teams discover that half their reports have not been viewed in a year. Use the chance to define funnels on visitors with a conversion window, following the funnel checklist.
Build the new dashboards for the people who read them, not as copies of the old ones. A weekly executive dashboard needs five numbers and a trend; a marketing dashboard needs channels, campaigns and the 14 ad platforms with click IDs; a product dashboard needs the activation funnel and a retention matrix. Three focused dashboards are easier to maintain than one that tries to be everything.
6. Access, alerts and integrations
Invite the team and set roles before the cutover, not after someone cannot find a report. Re-create alerts (traffic drops, conversion dips, error spikes) in TapCub so the week after cutover is not the week nobody notices a broken checkout. Reconnect the ad platforms whose click IDs you rely on; TapCub reads 14 of them, and the integrations page lists the rest.
7. Export the history you will miss
Historical data does not migrate between tools; the definitions are different, so it would not be comparable anyway. Export what you will want to quote later: monthly visitors and conversions for the last two or three years, top pages and sources by quarter. A spreadsheet is fine. Store it with the mapping table so future comparisons carry the caveats.
8. Cut over on a quiet day
Pick a low-traffic day, remove the old tag, and confirm that the TapCub numbers for that day look like the previous days. Update the links in your shared docs to the new dashboards. Keep read access to the old property for a quarter in case someone needs a historical number, then let it go. If the first seven checks were done, this step is a ten-minute change and an email.
Expect one or two surprises in the following week anyway: a report somebody built privately, a landing-page tool that still fires the old tag, a monthly export nobody knew about. Keep the migration doc open for a month and add each one to the checklist for next time.
TapCub Team
The people who design, build and support TapCub. We write about what we measure on our own site and what customers ask us most.