Tecof • September 15, 2026

Analysing Google Analytics Data with AI

Analysing Google Analytics Data with AI

In Brief

Google Analytics 4 is a measurement tool that records visitor behaviour as events; AI is an interpreter that generates hypotheses about what those events mean. Neither replaces the other. GA4 tells you conversion rate fell from 1.8 percent to 1.2 percent; it does not tell you which three things could have caused that, or which report would confirm it. As of 2026 the question is no longer "do we have data" but "which question, at which breakdown, with which verification step".

Tuesday morning, 09.15. The weekly report lands: 18,400 sessions, up 4 percent on last week; conversion rate down from 1.81 percent to 1.24 percent; revenue down from 412,000 TL to 331,000 TL. Someone screenshots the report, pastes it into an AI tool and says "interpret this data". The answer comes back: improve page speed, enrich your product images, email your cart abandoners. All three are reasonable, and none of them explains what happened that week.

The same data, given with a channel and device breakdown and the question "which breakdown accounts for more than half of the total decline", produces a different answer: 63,000 TL of the drop sits in mobile Meta traffic and in one single campaign. The difference is not the model. It is how the question was built.

Why GA4 Data Does Not Answer on Its Own

Analytics panels answer "what happened" well and "why did it happen" not at all. That gap is where AI genuinely earns its keep — but before entering it you need to know the limits of the data itself.

An event model and the context it loses

GA4 abandoned Universal Analytics' session-centric logic and records everything as an event: page_view: a page view, view_item: a product view, add_to_cart: adding to basket, begin_checkout: starting checkout, purchase: an order. The structure is flexible, but which parameters travel with an event depends entirely on your implementation. If product category was never written into item_category, no category-level analysis is possible at all — and the model, not knowing this, will cheerfully tell you to "look at the category breakdown" while you spend ten minutes hunting for an empty report.

Thresholds, sampling and lag

Not every number in the GA4 interface is raw data. Low-volume breakdowns are thresholded and hidden, wide date ranges trigger sampling, and conversion data keeps settling for 24 to 48 hours. Feeding yesterday's just-closed day into a model at 09.00 and concluding "revenue collapsed" is a conversation with the part of the data that has not arrived yet. The rule is simple: compare complete periods of equal length, and leave the last two days out of the analysis.

Where AI actually helps

The model is faster than a person at three things: scanning many breakdowns at once to find which explains the total change, producing a plausible list of causes for a deviation, and summarising findings in language someone else can read. None of those is "deciding". All three build a better table for the person who decides.

Framing the Right Question

Most analytics prompts start with "interpret this data", which guarantees the most generic answer available. A good question contains three things: a period, a breakdown and a decision.

Bad question, good question

Bad: "Last month's Analytics data is attached, can you interpret it?" Good: "The attached table has sessions, conversion rate and revenue by channel and device for 1-31 August against 1-31 July. Find the breakdowns that account for more than 50 percent of the total revenue change, give two plausible causes for each, and say which GA4 report would confirm each cause. Do not calculate anything; use the numbers in the table." The second question is not longer so much as more determinative. We covered the parts of a prompt and why writing constraints works in our prompt engineering guide.

No decision, no analysis

At the end of every analysis somebody has to do something. Put the decision in the prompt: "Which campaign should I move budget from, and to which, this week?" produces an entirely different output from "evaluate performance". Without a decision, the analysis goes into the reports folder.

Question patterns

JobRequired inputQuestion to askExpected output
Diagnosing a sudden drop2 equal periods, channel+device splitWhich breakdown explains half the change?List of breakdowns + verification report
Channel efficiencySessions, conversions, revenue, cost by channelWhich channel has the lowest marginal return?Ranking + budget recommendation
Funnel blockageview_item → add_to_cart → purchase countsWhich step loses the largest percentage?Step + hypothesis to test
Category analysisRevenue, units, basket size by categoryWhich category carries revenue, which drags?Two lists + action
Page performanceLanding page, sessions, bounce, conversionTop 10 high-traffic, low-conversion pages?Page list + priority order

How to Get the Data to the Model

The step that eats the most time in analytics work is making the data readable by the model. Which method is right depends on how often the analysis repeats.

A screenshot is the weakest route

Pasting a panel screenshot is fast but carries three problems: the numbers are open to misreading, the breakdown is incomplete, and there is no way to repeat the same analysis next week. Acceptable for a one-off look, not for regular work.

CSV export

For most teams this is the right starting point. Build an exploration in GA4 with the dimensions and metrics you need, download it as CSV, and hand the model the file. The advantages are clean numbers and the ability to pull the identical report every week. The limit is row count: once you pass a few thousand rows you are filling the model's context window, so summarise first.

Automating with the GA4 Data API

If you run the same analysis weekly, the manual download step starts slipping in week three. The Google Analytics Data API pulls the dimensions and metrics you specify programmatically; a short script fetches, summarises and sends. At that point the analysis stops being a report and becomes a flow. Our guide to APIs sets out the basic framing for how integrations like this are built.

BigQuery and raw event data

GA4's BigQuery export gives you the raw event data the interface never shows: no thresholding, no sampling, the full event sequence per user. For large catalogues and multi-channel setups it is the only correct route. Query costs are low but SQL knowledge is required — and here AI's best use is not analysis but writing the query.

MethodSetup timeRepeatabilityData qualityWho it suits
Screenshot1 minuteNoneLowA one-off look
CSV export15-30 minutesMedium (manual)GoodTeams writing a weekly report
Data API1-2 daysHighGoodA recurring analysis flow
BigQuery3-5 daysHighVery goodLarge catalogue, many channels

Data protection and minimisation

Sending analytics data to a model provider is a data transfer. The rule is simple: no field that identifies a person directly or indirectly goes into the prompt. Analysis does not need user identifiers (user_id, client_id), emails, phone numbers, order numbers or IPs; channel, device, category, date and aggregated counts are enough. Cover automated decision support in your privacy notice and add the model provider to your list of processors. If you use Consent Mode, note in the analysis that visitors who declined are represented by modelled data and that this portion is not real measurement — otherwise a difference in consent rate between two periods comes back to you as a fake trend.

What the Model Does Well and Badly

What disappoints people about AI in analytics is usually that they gave it the wrong job. The distinction is worth drawing sharply.

Leave the arithmetic to the spreadsheet

Language models are not reliable with numbers. Do percentage changes, weighted averages and contribution shares in the table and hand the model the calculated columns. The model's job is not to compute "conversion rate on mobile Meta fell 42 percent" but to say why that might have happened. The formulas behind advertising metrics and ROAS are unambiguous; making a model compute them is unnecessary risk.

It is strong at generating hypotheses

Ask "add-to-cart held steady while begin-checkout fell 30 percent, what are five plausible causes?" and the model answers well: shipping cost visibility, a payment method error, an out-of-stock warning, a field error in the mobile form, a promo code validation problem. That list gives you five places to check; you find out which one is true.

It is weak at explaining anomalies

The model does not know your calendar. If Friday revenue doubled, the cause might be a campaign, an influencer post or a marketplace discount; knowing none of these, the model produces the most likely generic explanation. The fix is to put context in the prompt: "A 20 percent discount campaign ran from 12 to 19 August." That one sentence doubles the quality of the analysis.

TaskModel performanceCorrect use
Percentages and averagesWeakCalculate in the table, supply the result
Scanning breakdownsGoodGive all breakdowns, ask for a ranking
Generating causal hypothesesVery goodAdd context and calendar
Writing the report textVery goodSpecify audience and length
Calendar/campaign knowledgeNoneYou write it into the prompt
Writing SQL/queriesGoodGive a schema sample, test the output

Local Misreadings to Watch For

A model trained on global examples knows none of your local realities. These three are the most frequently misread in the Turkish market.

Shipping and delivery calendars

Peak periods at carriers such as Yurtiçi and Aras Kargo, public holidays and long religious holidays distort the order curve badly. Revenue spikes on the last shipping day before a holiday and collapses the next. The model reports that as "a critical fall in conversion rate"; write the calendar into the prompt and it says "holiday effect, no action needed".

Marketplace and site traffic getting mixed up

If you also sell on Trendyol and Hepsiburada, GA4 measures only your own site. Total revenue falling while site revenue holds steady does not mean the business is deteriorating; it may mean demand shifted to the marketplace. If marketplace figures are not in the analysis, say so explicitly in the prompt so the model does not talk about "total business".

Consent mode and the measurement gap

For visitors who decline cookies, GA4 produces modelled data. In the week you change your consent banner design, measured traffic moves independently of real traffic. Likewise, comparing email and SMS contribution without accounting for the size of your consented list is misleading; our comparison of email and SMS offers a cleaner framing for channel-level judgement.

A Repeatable Analysis Routine in Thirty Days

One good analysis saves nobody; an analysis that comes out at the same quality every week does. The timeline below turns scattered experiments into a routine.

Days 1-7: verify the measurement

No analysis happens this week. Check that the purchase event fires on every order, that the revenue value treats tax and shipping consistently, that channel tagging (UTM) is disciplined, and that product parameters arrive populated. If GA4 revenue and the revenue in your order panel differ by more than 5 percent, close that gap first; analysis on wrong data is not analysis.

Days 8-14: define three standard questions

Write the three questions you will ask every week and fix the dimension-metric list each one needs. A typical trio: channel efficiency, funnel blockage, category contribution. This week's output is three prompts and three GA4 explorations.

Days 15-21: test against four weeks of history

Run the prompts on the last four weeks of data and compare the findings with what actually happened in those weeks. Did the model read the campaign week correctly? Did it separate the holiday effect? Every misreading is a context sentence to add to the prompt.

Days 22-30: wire it into a flow and give it an owner

Move the CSV download to the Data API where you can, decide where the output goes (the weekly meeting note, a dashboard, an email) and give each question an owner. An analysis with no owner stops being produced in week four. Tracking the actions an analysis produces in one place was also a foundational step in the setup we implemented on the agency side.

Here is the job for tomorrow morning: export the last two complete weeks from GA4 as a CSV with sessions, conversion rate and revenue split by channel and device, write next to it the dates of any campaigns that ran in those weeks, and ask the model one question: "Which breakdown accounts for more than half of the revenue change, and which report would confirm it?" Verifying the answer takes ten minutes; one verified finding beats ten pages of interpretation. On a setup where analytics, advertising and order data meet in one place, most of these steps stop being manual.

Frequently Asked Questions

Can AI read my GA4 panel directly?

It reads the data, not the panel. That requires either a CSV export or a connection through the Google Analytics Data API. Tools that offer to "connect to your account" are doing exactly this: pulling from the API in the background.

Which model is best for analytics?

Model choice matters far less than how the question is built. Any current model that handles long tables and follows instructions will do. Asking the same question of two models and comparing the answers is the fastest test of which to pick; we expanded on that approach in our tools comparison.

How many rows can I supply?

In practice a few thousand rows is fine for most models, but answer quality declines as row count rises because the model's attention spreads. The right approach is not to give every row but to give a table aggregated to fit the question.

How would I know if the model gave me a wrong number?

Only by verifying. Ask for a "which GA4 report would confirm this" line beside every finding, and check at least one finding by hand each week. If you keep the calculation in the spreadsheet, most of this risk disappears anyway.

Why don't GA4 numbers match my ad platform?

Because they use different attribution models and conversion windows, and they are not expected to match. Meta counts view-through conversions that GA4 does not. Pick one source as the reference for any comparison and say so in the prompt; otherwise the model tries to reconcile the two and invents an explanation.

I'm a small store with little data. Is this still worth it?

Below roughly 20-30 orders a day, weekly breakdown analysis is mostly noise; look monthly and reduce the number of breakdowns. At that scale AI pays off more on the production side than the analysis side: product copy and content work.

Can I have the results pushed to Slack or email automatically?

Yes — a script pulling from the Data API can send the output anywhere. But before automating, make sure the prompt has produced correct results for four weeks. An automatic analysis nobody reads every morning costs more than no analysis at all.

Should I outsource this or build it in-house?

Measurement accuracy (the week-one work) often needs outside help; defining the questions and doing the weekly interpretation should stay in-house, because the internal team knows the campaign calendar and the commercial decisions. Interpretation that is outsourced turns into generic advice by the third month.

Where should I look first when conversion rate drops?

In order: did the traffic mix change (did a new channel or campaign arrive), where in the funnel is the loss, and is something technically broken (payment, stock, page errors). Check the third first, because it is the fastest to confirm and the most expensive to leave. For structural improvements on the conversion side, our conversion rate piece gives a separate checklist.

Can I hand the AI-written report straight to management?

Don't. Verify every finding against at least one report and label unverified hypotheses as hypotheses. One unverified number in a document that goes upward, once it turns out to be wrong, takes the credibility of the next six months of analysis with it.

Analysing Google Analytics Data with AI: A Practical Guide