Guides5 min read
Moving from Google Analytics in an afternoon
Install, rebuild your goals, connect revenue and switch off GA4 before dinner. Your history stays in GA4.
Before you start
Most of a move away from GA4 is deciding to do it. The work itself is short: one script tag, a handful of goals, and a payment processor to connect. This guide walks through it in the order we'd do it, with one honest change to the usual checklist.
First, the honest part: your history
atrby can't import GA4 data today. Your history stays in Google Analytics.
That's less of a problem than it sounds. You don't need to delete your GA4 property to stop using it, so old reports stay where they are. If you want a copy you control, export the reports you care about from GA4 before you start, or set up GA4's BigQuery export if you need raw events. Do that first, while you still have the tag running.
Then treat the switch date as day one. Year-on-year comparisons will mean opening GA4 for a while. Everything from here on lives in atrby.
1. Install the script (15 minutes)
Sign up, add your domain, and copy the script tag. Put it in the <head> of every page, next to your GA4 tag for now. It loads with defer, so it doesn't block rendering.
- Subdomains such as
app.anddocs.are counted under your domain automatically. - Single-page apps need nothing extra. The script records a pageview on every route change.
- On WordPress, Webflow, Shopify or Google Tag Manager, paste the tag wherever the platform lets you add code to the head.
Open your site in another browser and your visit should show up within a minute. The install docs have a Next.js example, and check it works covers what to do if nothing appears.
One difference to expect: atrby is cookieless by default. It counts a visitor for one day, so someone who comes back on Thursday counts again. Your visitor numbers won't match GA4's exactly, and they aren't meant to.
2. Rebuild your goals (30 minutes)
Open your GA4 key events and list the ones you actually look at. For most sites that's a short list: sign-ups, a demo request, a newsletter form, a visit to pricing. Then open Goals → New goal in atrby for each one. A goal is one of two kinds:
| A page is viewed | A path starting with /. Exact match, or end it with * to match a whole section, such as /blog/*. Good for thank-you pages. |
|---|---|
| An event fires | An event name you send with atrby.track() or atrby.goal(). Exact match. |
For a GA4 event that fires on a button or form, add one line where it happens today:
window.atrby?.goal("demo_requested");
The ?. matters: calls made before the script loads aren't queued, so the guard stops errors. If you'd rather not touch code for clicks, add data-autocapture="true" to the script tag and clicks on links and buttons are recorded as a click event.
Goals work on data already recorded, so a page goal you add on day three fills in from day one. If you used GA4 funnel reports, rebuild them under Funnels with 2 to 8 steps. Steps must happen within one visit. See goals and funnels.
3. Connect revenue (30 minutes)
This is the part GA4 never made easy, and the reason most people switch. Connect your processor under Revenue → Payment processors: Stripe, Lemon Squeezy, Polar, Paddle, Dodo or Shopify. If you use something else, send payments from your server with the Payment API.
Then pass the visit id into checkout so each payment is matched to the visit that brought it:
- In the browser, read
window.atrby?.ids()and send it with your checkout request. - On your server, put it in the checkout metadata.
- At sign-up, call
atrby.identify(user.id)and addatrby_uidto the same metadata, so payments made days later are still credited.
The revenue docs have the code for each processor. Make one test purchase and check it appears on the Revenue screen against the right source.
4. Run both for a week
Leave GA4 and atrby running side by side for about a week. Compare the shape, not the totals:
- Do the same pages rank at the top?
- Do the main sources line up, roughly?
- Does each goal fire when you expect it to?
Expect differences. atrby drops bots and link prefetches before storing anything, and counts visitors per day without cookies. Some gap is normal. A goal that never fires is not, so fix those now.
5. Switch off GA4
Once the week looks right:
- Remove the GA4 tag from your site, or pause it in Tag Manager.
- If the cookie banner was only there for Google Analytics, review whether you still need it. In cookieless mode atrby stores nothing on the device for analytics; check with your own counsel for your jurisdiction.
- Update your privacy policy to name atrby instead of Google Analytics.
- Keep the GA4 property, read-only, for as long as you want the old reports.
What the afternoon looks like
Install, goals and revenue fit in about an hour and a half of hands-on time. The week of overlap runs on its own. So it's an afternoon of work, then one more look a week later before you remove the old tag.
Every account starts with a 14-day trial, no card, which covers the overlap week. Plans and limits are on the pricing page.