Skip to content

Your Analytics Stack: GA4, Search Console, and What Actually Survives

GA4 deletes event data at 14 months, or 2 if you grow. Search Console keeps 16. Here is what each tool actually knows, and what your platform hides from both.

The Sellarix team · 22 Jul 2026 · 14 min read

Most stores have four analytics tools, three of which disagree about how many orders they got yesterday, and nobody can say which one is right. That's not a tooling problem. It's a definitions problem wearing a tooling problem's clothes.

Here's the thing that reframed it for me. Google Analytics 4, on a standard property, gives you a choice of 2 months or 14 months of event-level data retention. That's the whole menu[1]. And if your property grows past Google's collection limits and becomes a Large property, retention is automatically reduced to 2 months and everything older is permanently deleted[1].

Read that again. Growing your business can silently destroy your historical data. Not archive it. Delete it.

Meanwhile Search Console keeps 16 months of query-level performance data[2], is free, requires no tag, and is ignored by almost every DTC analytics conversation I've been in. This piece is about building a stack around what each tool genuinely knows rather than around what its marketing says.

What each tool actually knows

Start here, because most stack arguments are people comparing tools that answer different questions.

ToolKnowsCannot knowRetention
Search ConsoleQueries, impressions, clicks, average position, per page and country[3]Anything after the click. Revenue, sessions, carts16 months[2]
GA4On-site behaviour, events, funnels, attribution modelsAnything a consent banner or ad blocker stopped2 or 14 months standard[1]
Platform adminOrders, refunds, actual moneyHow anyone arrivedYour account lifetime
Payment providerAuthorisation rate, declines, disputesEverything upstreamYears
Attribution toolA model of what caused whatThe truth. It's a modelVendor-dependent

The single most useful realisation on this table: only one of these knows how much money you made, and it isn't the analytics tool. Your platform's order records are the ledger. Everything else is an estimate about the ledger.

What we found comparing the documented limits

We went through the current public documentation for GA4, Search Console and the four major commerce platforms, looking specifically at what gets silently dropped rather than what gets reported.

GA4 thresholds delete rows without telling you clearly

Data thresholds are applied to prevent anyone inferring the identity of individual users from demographic or interest data. They're system-defined and you cannot adjust them[4]. Rows containing search query information can be withheld if there aren't enough total users[4].

The practical effect on a small or mid-sized store is that any segmented report gets holes in it, the holes aren't random, and the indicator that it happened is a small message at the top of the report that everyone learns to ignore.

The retention cliff is the real finding

2 or 14 months on standard properties. 26, 38 or 50 on 360[1]. So year-on-year analysis on a standard GA4 property, at 14 months, gives you exactly two months of overlap before the comparison period disappears.

And the growth trap: cross into Large property territory and retention drops to 2 months automatically with older data permanently deleted[1]. There is no warning email that means anything to a merchant.

The threshold that turns a property Large is a collection-volume limit, and it is documented[19]. Nobody reads it until it bites.

The conclusion we'd draw: if your GA4 history matters to you, it isn't in GA4. It's in a BigQuery export you set up before you needed it, or it doesn't exist.

Search Console is the most underused free data in ecommerce

The Search Analytics API returns clicks, impressions, CTR and average position, grouped by query, page, country, device, search appearance, date and hour[3]. Up to 25,000 rows per request[3], at 1,200 queries per minute per site[5].

The Performance report is the same data in the UI[16], and Search Console's wider feature set covers indexing and crawl diagnostics too[20].

That's demand data. Actual phrases actual humans typed, with a position telling you how close you are to earning the click. No tag, no consent banner, no sampling, no ad blocker. It's the cleanest signal in the stack and it's free.

The caveat Google states plainly: the API "does not guarantee to return all data rows but rather top ones"[3], and low-volume queries are anonymised out. So it's directionally complete, not literally complete.

Every platform broke its own tracking at some point

Shopify moved storefront and checkout tracking to the sandboxed Web Pixels API[6], which means anything that depended on injecting scripts into checkout stopped working. Plenty of stores are still reporting numbers from a pixel that hasn't fired correctly since the migration.

Does this actually impact you?

Three checks, and the first one takes ninety seconds.

Open GA4 and your platform admin side by side for the same day. How far apart are the order counts? Under 3% is normal. Over 10% means something is broken and you've been making decisions on it.

Check your GA4 retention setting. Admin, data settings, data retention. If it says 2 months, either somebody left the default or you crossed a threshold[1].

Open Search Console and sort queries by impressions. If there's a query with meaningful impressions where you're ranking in the 40s or 50s, that's demand you're eligible for and not getting. That single view is worth more than most paid analytics products.

The three numbers that actually run a store

You need fewer metrics than you have. Three, plus one diagnostic.

Contribution margin per order. Revenue minus COGS minus shipping minus payment fees minus returns provision. Not gross revenue. This is the number that decides whether growth is good.

Blended customer acquisition cost. Total marketing spend divided by new customers, from the ledger, not from any platform's self-reported conversions. Every ad platform overstates. They all count the same order.

Repeat rate at 90 days. Cohort by first order month. This is the number that tells you whether you have a business or a series of transactions, and it's the one that decides whether subscriptions are worth building.

The diagnostic: authorisation rate. Not an analytics metric, lives with your payment provider, and moves revenue more than most things on your dashboard. Covered in the payments piece.

If you are on Shopify

What changed and what it broke

The Web Pixels API runs pixels in a sandbox with access to a defined set of standard events, and app pixels sit in a strict sandbox while custom pixels get a lax one[6]. If your tracking predates that model, verify it. Don't assume.

Practical test: place a real order, then check whether it appears in GA4, in your ad platform, and in Shopify, with the same value. Three tools, one order. Most stores discover at least one gap.

What Shopify's own analytics is good for

It's the ledger and it's correct. Use it for revenue, orders, AOV and returning customer rate, and stop reconciling those against GA4. You'll never win that argument and the platform is right.

The customer events route

Custom pixels registered through Shopify's marketing analytics surface are the supported path for third-party tracking now[7]. If you're paying an agency to maintain tracking, ask them which model they're on. The answer is informative.

Not on Shopify? The other platforms

WooCommerce

You have the most direct access to the truth of any platform here, because the orders are in your own database and the REST API gives you everything[8]. A nightly export of orders with line items, costs and refunds into a spreadsheet or a small warehouse beats every analytics product for the three numbers above.

The Woo-specific tracking risk is plugin duplication. Two plugins both firing a purchase event produces double-counted revenue, and it's extremely common. Check for duplicate GA4 tags before you trust any number.

Magento and Adobe Commerce

Multi-store scope means your analytics has to understand websites, stores and store views, or your reporting silently merges markets that should be separate[9]. Get the scope dimension into your data layer from day one. Retrofitting it is miserable.

Magento's own reporting is genuinely capable and genuinely underused, largely because the admin reports are slow on big catalogues. Push orders to a warehouse instead of fighting the admin.

BigCommerce

The API surface is clean and well documented, so the warehouse route is straightforward[10]. The thing to watch is that BigCommerce auto-upgrades plans at GMV thresholds[11], so your platform cost is a variable in your contribution margin and should be modelled as one.

Headless and custom builds

You own the data layer, which means you own event naming, and event naming is where analytics projects die. Decide your event schema once, write it down, and make it a code review item. A store where add_to_cart fires with three different payload shapes depending on which component fired it is unanalysable, and nobody notices until somebody asks a question the data can't answer.

Why your tools disagree, and which one to believe

The order-count gap between GA4 and your platform has four causes, and they're worth being able to name because each has a different fix.

Consent

A shopper who declined analytics cookies bought something. Your platform recorded it. GA4 didn't, or recorded a modelled version of it. This is the largest single cause in the EU and UK, and it's not a bug. It's the system working.

Blocking

Ad blockers and browser tracking prevention stop the tag firing. Skews by audience: technical and younger audiences block far more, which means your GA4 view of who buys from you is systematically wrong in a consistent direction.

Attribution windows

GA4 attributes a conversion to a session that may have started days earlier. Your platform attributes the order to today. Compare the same day and you're comparing two different definitions of "when".

Definitions

Does a refunded order count? A test order? An order placed by your own staff? A subscription renewal? Every tool answers differently and none of them tell you.

The rule I'd apply: use the platform for anything you would put in a board pack, and GA4 for anything where you care about direction rather than magnitude. Trying to reconcile them to the order is a project that never finishes and produces no decisions.

One practical consequence for anyone running paid media: if you're feeding conversion values back to ad platforms, feed them from the ledger where you can, not from the browser. The numbers will be smaller and correct, and the optimisation will be better.

Server-side tracking and consent, honestly

Server-side tagging is sold as a fix for ad blockers and ITP. It genuinely helps with data completeness and latency. It is not a way around consent.

Google's Consent Mode is the mechanism for adjusting tag behaviour based on the consent signals you collect[12], and it applies to server-side collection too. Moving a tag from the browser to your server doesn't change whether you had permission to collect the data. Anyone selling server-side as a consent workaround is selling you a regulatory problem with better latency.

The honest case for it: you get more complete data from the users who did consent, you reduce third-party scripts on the page, which helps INP, and you control what leaves your infrastructure. Those are good reasons. That's the pitch.

The analytics stack that works

My actual recommendation, and it's less than most people expect.

LayerToolCostJob
LedgerYour platform adminIncludedRevenue, orders, refunds. The truth
DemandSearch ConsoleFreeWhat people search, where you rank[3]
BehaviourGA4Free, with API quotas[17]Funnels and on-site behaviour, with known holes[4]
HistoryBigQuery export from GA4Near-free at DTC volumeBeating the retention cliff[1]
PaymentsProvider dashboardIncludedAuthorisation rate, declines, disputes
MarginA spreadsheetFreeContribution margin. Genuinely
AttributionTriple Whale or similarFrom $179/mo[13]Only once spend justifies it

On that last row: Triple Whale's published plans run $179, $259 and $749 a month with pricing tiered by annual GMV[13]. That's real money and it buys you a model, not a fact. Attribution tools are worth it when you're spending enough across enough channels that the allocation question is genuinely hard. Below that they're an expensive opinion.

Stance you can disagree with: most DTC brands under £2M would get more from two hours a week in Search Console than from any paid attribution product. The demand data is right there, it's free, and it points at pages you could fix.

What AI answer engines do to your measurement

This is the genuinely unsolved bit and I'd rather say so than pretend.

When somebody asks an assistant for a product recommendation and it names you, there's no impression in Search Console and no session in GA4 unless they click through. If they click, the referrer may or may not survive. If they later search your brand name directly and buy, that order gets attributed to direct or brand search, and the thing that actually caused it is invisible.

What you can do today, which is limited but not nothing:

  • Watch brand search volume in Search Console. Rising branded impressions with flat non-branded is a signal that something upstream is introducing you to people[3].
  • Read your server logs for AI crawler user agents. GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot[14]. Which pages they fetch tells you what they're building an answer from.
  • Check the 404 rate in that traffic. Across the web roughly a third of AI crawler fetches hit dead URLs[15].

Nobody has a clean answer for measuring assistant-driven demand yet. Anyone selling you one has built a model, and you should ask exactly what it observes versus what it infers.

What to do this week

  • Check your GA4 retention setting. If it's 2 months, change it to 14 today[1].
  • Turn on the BigQuery export[18]. It's free at DTC volumes and it's the only insurance against the retention cliff.
  • Reconcile one day. GA4 orders versus platform orders. Write down the gap.
  • Place a test order and follow it through every tool that claims to track it.
  • Open Search Console, last 3 months, sort by impressions, and list every query where you're ranking between 11 and 30. That's your content roadmap.
  • Check for duplicate purchase events if you're on WooCommerce or any plugin-based stack[8].
  • Build the contribution margin spreadsheet. One row per order, last 90 days. It will change a decision.

The takeaway

GA4 is a behaviour tool with a two-month floor and a fourteen-month ceiling that gets worse as you grow[1]. Search Console is a demand tool with sixteen months of history that most stores never open[2]. Your platform is the ledger. Attribution tools are models.

Sort those four out and you can delete about half your stack.

I spent a long time optimising GA4 dashboards nobody read, then discovered our highest-impression query was one we ranked 60th for and had never written a page about. Two years of behaviour analytics and the useful finding came from a free tool I'd been ignoring.

What's your highest-impression query where you rank below 20? Go and look.

Sources

  1. Google, "[GA4] Data retention", Analytics Help. Accessed 22 July 2026.
  2. Google, "Introducing the new Search Console", Google Search Central Blog, January 2018 (16 months of Performance data).
  3. Google, "Search Analytics: query", Search Console API reference. Accessed 22 July 2026.
  4. Google, "[GA4] About data thresholds", Analytics Help. Accessed 22 July 2026.
  5. Google, "Search Console API usage limits". Accessed 22 July 2026.
  6. Shopify, "Web Pixels API", shopify.dev. Accessed 22 July 2026.
  7. Shopify, "Pixels", shopify.dev. Accessed 22 July 2026.
  8. WooCommerce, "WooCommerce REST API". Accessed 22 July 2026.
  9. Adobe, "Websites, stores and store views". Accessed 22 July 2026.
  10. BigCommerce, "About the BigCommerce platform". Accessed 22 July 2026.
  11. BigCommerce, "BigCommerce pricing". Accessed 22 July 2026.
  12. Google, "Consent mode", Google Tag Platform. Accessed 22 July 2026.
  13. Triple Whale, "Triple Whale pricing". Accessed 22 July 2026.
  14. OpenAI, "OpenAI crawlers and user agents". Accessed 22 July 2026.
  15. Vercel, "The rise of the AI crawler", December 2024. (Vendor-published; reproducible from your own logs.)
  16. Google, "Search performance report", Search Console Help. Accessed 22 July 2026.
  17. Google, "GA4 Data API quotas". Accessed 22 July 2026.
  18. Google, "[GA4] BigQuery Export", Analytics Help. Accessed 22 July 2026.
  19. Google, "[GA4] Data collection limits", Analytics Help. Accessed 22 July 2026.
  20. Google, "Search Console overview". Accessed 22 July 2026.