Skip to main content

Integrations

Google Analytics import

Bring the history from before you installed the script — daily page views, sessions and users, shown on your dashboard for the days before your first event and marked as imported.

Switching analytics usually means losing your history. Google Analytics kept counting for years; the day you install our script, your dashboard starts from zero. This import fills the gap: it copies GA4's daily totals for the period before your first event here, and shows them on the same dashboard.

What you get

Pick a date range that reaches back before your first event, and the days before it fill in from Google Analytics:

  • The traffic chart draws those days in the same line, with the imported span lightly tinted and a dashed Google Analytics boundary where our own numbers begin. Hover an imported day and the tooltip says so. Hourly views such as Yesterday work too — the import brings hourly totals.

  • The headline totals — views, visitors, sessions — include the imported days.

  • Pages, entry pages, hostnames, channels, referrers, campaigns, keywords, countries, regions, cities, browsers, OS and devices gain the imported rows, and the visitor tile splits new from returning across them. Every row that came from Google, or was summed with it, carries a small Google Analytics icon, and its hover box lists the Google share and the part measured here separately.

Pick a range that starts after your first event and none of this appears — the dashboard is exactly what it was.

screenshot coming

The traffic chart on a range that straddles the first event: the tinted Google Analytics span on the left, the dashed "Google Analytics" boundary line, and a Pages row below carrying the small GA icon. Realistic non-round figures. Light theme.

Connecting

  1. Open the site's Settings → Integrations.

  2. Under Google Analytics, choose Connect Google Analytics and approve read-only access with the Google account that owns the property.

  3. Pick the property that matches this site. GA4 properties do not carry a domain, so we cannot guess — you always choose.

  4. Choose Start import. It starts at once and keeps going until it is done — a long history takes a few minutes.

screenshot coming

Settings → Integrations, the Google Analytics card after connecting: property picker with two properties listed, one selected, the "Start import" button, and the cutoff sentence beneath it. Light theme, cropped to the card.

The card shows progress as it runs — importing… 4 of 19 — then Done with the number of days, and the total views and sessions it brought in.

Showing or hiding it

The card has a Show on the dashboard switch. Turn it off and the imported history disappears from the chart, the totals and every breakdown; the data itself is kept, and turning the switch back on restores it at once.

How far back, and where it stops

The import covers from the oldest day Google still holds until the day this site first sent an event here. Nothing after that: those days are already measured, and fetching them again would count them twice.

Google's own retention limits the start. GA4 keeps two months by default and at most fourteen, depending on the property's settings — older history is gone on Google's side too, and no import can recover it.

Two ways of counting

Google counts differently. A "session" in GA4 is not the session we measure, and Google's "users" is a daily figure that re-counts the same person on consecutive days — so a visitor total over an imported range is a sum of daily uniques, an upper bound rather than a unique count. Google's own migration guides call a 10–20% gap between two systems normal.

That is what the boundary line is for: the join is marked, not hidden, so a step at the boundary reads as a change of method and not as a change in your traffic. The period-over-period badges compare our own numbers with our own numbers and never mix the two.

Filtering

Google's daily totals come one dimension at a time. A single filter on a dimension the import knows — page, entry page, channel, country, region, city, browser, OS, device, or a UTM source, medium or campaign — narrows the imported days along with everything else. Two filters at once, or a filter on something the import does not carry (hostname, exit link, referrer host, bot kind, UTM term), leaves the imported days out; the chart legend says why.

What is not imported

Left behindWhy
Goals and conversionsGA4 events do not map to your goal names; set up goals here directly
Bounce rate, session timeImported, but shown as Google's own figure beside ours rather than blended: GA4 counts a bounce as the inverse of its "engaged session", we count a session with one pageview
Exit pagesThe GA4 API does not expose them
RevenueComes from the Stripe integration, and only from there
Minute detailGA4 goes down to the hour, so the live and last-hour views show our data only
Browser versionsGA4 reports the browser, not its version
Goals as goalsGA4 event names do not map to yours; a raw list would read as goals and be wrong

Imported rows never count towards your event allowance. They are history, not events, and they are stored apart from your live data.

Disconnecting

Settings → Integrations → Google Analytics → Disconnect revokes the authorisation on Google's side and deletes the imported history from your dashboard. To keep the data but stop showing it, use the Show on the dashboard switch instead. Reconnecting imports the history again.

If it fails

The card says Failed — retrying hourly and keeps trying. The two common causes: the Google account lost access to the property, or GA4's API quota was exhausted for the day. Both clear on their own; if it is still failing after a day, disconnect and connect again with the account that owns the property.

Was this page helpful?

Last updated September 8, 2026