Glossary

How Analytics Decides a Visit Counts as Organic Traffic

Taras Shynkarenko
Taras Shynkarenko
•Updated: •8 min read
How Analytics Decides a Visit Counts as Organic TrafficHow Analytics Decides a Visit Counts as Organic Traffic

TL;DR, Quick Answer

8 min read

GA4 files a session as Organic Search when the source matches Google's list of search sites or the medium is exactly "organic", and the channel includes Google's AI Overviews and AI Mode. Matomo checks AI assistants, campaigns and direct entry first, then matches the referrer host against 297 engine definitions in its community list. Neither tool receives the search query, so Matomo shows "Keyword not defined" and keyword data has to come from Search Console, whose click counts will not match analytics sessions for five reasons Google documents.

What is organic traffic in analytics?

In web analytics, organic traffic is the set of visits a tool files under search because the referring hostname matched its list of search engines and no campaign tag or ad click identifier outranked that match. Google's description of the GA4 channel reads: "Organic Search is the channel by which users arrive at your site/app via non-ad links in organic-search results, including Google's AI Overviews and AI Mode."

The number in your report comes from a rule that reads source and medium, and the rule leaks in both directions: real search visits land elsewhere, and visits that never touched a search engine land in Organic Search.

GA4 files a session as Organic Search when one of two conditions holds, and Google publishes both: "Source matches a list of search sites listed under 'SOURCE_CATEGORY_SEARCH' OR Medium exactly matches organic." The first condition catches untagged clicks from search engines, since GA4 sets the source from the referrer. The second condition catches anything you tagged utm_medium=organic, whatever the source.

Google's help page lists the manual-traffic channels in a fixed order, and several rules that touch search sites sit above Organic Search:

GA4 channelRule Google publishesWhat it means for search visits
Paid SearchSource matches a list of search sites AND the medium matches the paid regex, which accepts values containing "cp", plus "ppc", "retargeting" and anything starting with "paid"A search source only becomes paid when the medium says so
Organic ShoppingSource matches a list of shopping sites OR the campaign name matches a regex for "shop" or "shopping"A campaign name containing "shop" pulls a visit here first
Organic SocialSource matches a regex list of social sites OR Medium is one of ("social", ...)Social platforms with search boxes still count as social
Organic VideoSource matches a list of video sites OR Medium matches regex ^(.*video.*)$A YouTube search click is Organic Video, not Organic Search
Organic SearchSource matches a list of search sites listed under "SOURCE_CATEGORY_SEARCH" OR Medium exactly matches organicIncludes AI Overviews and AI Mode
AI AssistantThe medium exactly matches "ai-assistant"ChatGPT and similar services leave Organic Search
ReferralMedium is one of ("referral", "app", or "link")Search engines missing from Google's list fall here

Google Ads clicks follow a separate rule set. Paid Search for Google Ads traffic reads: "Source platform is 'Google Ads' AND Google Ads ad network type is one of ('Google Search', 'Google Partners')." That rule depends on auto-tagging, which adds a parameter "called GCLID, short for 'Google Click Identifier'" to the landing URL. Google warns that "If your website uses redirects, it's also important to make sure the GCLID is passed to the final landing page." When a redirect strips the GCLID and the ad carries no UTM tags, the session reaches the manual rules with a Google referrer and no paid medium, and the Organic Search rule matches it.

Google publishes the source list as a downloadable spreadsheet on the same help page, so any search engine you depend on can be checked rather than assumed. The rule order also explains why utm_medium is the field to get right; how GA4 channel rules settle utm_source vs utm_medium walks through it.

A person types a query into a search engine on a laptop, the kind of visit analytics tools sort as organic search.

Why a paid click lands in Organic Search
Google Ads click
Redirect strips the GCLID
No UTM tags on the ad
Google referrer, no paid medium
Organic Search rule matches
A GCLID lost in a redirect leaves GA4 with nothing but a Google referrer to go on.

How does Matomo decide a visit came from a search engine?

Matomo decides on the referrer host and runs its checks in a fixed sequence in plugins/Referrers/Columns/Base.php. It tries AI assistant detection first, then campaign parameters, then direct entry, search engine and social network, and only when all of those fail does it fall back to REFERRER_TYPE_WEBSITE. A search visit gets REFERRER_TYPE_SEARCH_ENGINE, which core/Common.php declares as the integer 2.

The search engine match comes from SearchEngines.yml in the community-maintained searchengine-and-social-list repository, which held 297 engine definitions when we parsed it for this article. Each definition carries hostnames, the "request parameters (or regexes), that can be used to get the search keyword" and "hidden keyword paths". Google's entry lists hosts such as google.com, google.{} and encrypted.google.com, reads the keyword from the q parameter, and declares hidden keyword paths including / and /search.

The hidden keyword paths matter more than they look. Matomo's extraction code treats a missing keyword on a declared path as a match, with the comment "$key === false is the special case 'No keyword provided' which is a Search engine match." When the keyword is missing and the referrer path is not declared as hidden, the function returns false and the visit falls through to the website type. So Matomo can file a click from a known search host as a referring website, while GA4 files the same click as Organic Search because its rule reads the source alone.

Why does organic traffic arrive without the search keyword?

Organic traffic arrives without the search term because search engines stop sending it and browsers trim the referrer to the origin on cross-origin requests. Matomo's FAQ says the "Keyword not defined" label means "the search engine did not pass to your website the keyword used by your visitors", because "Search engines hide the keyword for privacy reasons." It adds that the label "means that Matomo has detected that the visitor came from a search engine, but the keyword was not provided in the Referrer URL."

The mechanics of the header itself, including why a cross-origin referrer carries only the hostname, are covered in what counts as referral traffic. The practical consequence is that no client-side analytics tool can recover the query from the visit. Query-level data lives in the search engine's own reporting, which for Google means Search Console, and Matomo offers a premium Search Engine Keywords Performance feature that imports keywords from Google, Bing and Yahoo for the same reason.

Why don't Search Console clicks match organic sessions in analytics?

Search Console clicks and analytics organic sessions measure different events, so the two numbers never line up exactly. Search Console defines Clicks as "The number of times a user clicked your site from Google Search results", while GA4 counts sessions that its channel rules assigned to Organic Search after the tag loaded. Google's troubleshooting page for the Performance report names five causes of the gap:

  1. Privacy. "To protect user privacy, the Performance report does not show all data. For example, it omits some queries that are searched a very small number of times."
  2. Processing. Google removes duplicates and applies other processing to the source data before it reaches the report.
  3. Time lag. Google says collected data is usually available in two to three days.
  4. Time zones. "In all views (except the 24-hour view), the Performance report tracks and labels daily data in Pacific Time (PT)."
  5. JavaScript. "Some tools, such as Google Analytics, track traffic only from users who have enabled JavaScript in their browser."

A click also becomes a session only if the page loads and the tag fires, and GA4 closes a session after inactivity, as what a session is in web analytics explains. One search click can produce zero sessions or several.

What moves search visits in and out of the organic channel?

Four common cases move visits across the Organic Search boundary, and each one leaves a signature you can check.

Flowsery
Flowsery

Start Your 14-Day Free Trial

Real-time dashboard

Goal tracking

Cookie-free tracking

CauseWhere the visit landsHow to spot it
Referrer lost, such as a link from an app or a page with a no-referrer policyDirectDeep landing pages that nobody types or bookmarks showing Direct as the top channel
GCLID stripped by a redirect on an untagged adOrganic SearchOrganic sessions on pages that only ads link to
A newsletter or partner link tagged utm_medium=organicOrganic SearchOrganic sessions with a source that is not a search engine
Search engine missing from the tool's listReferral in GA4, website in MatomoA search domain in the referral report

Visits that match no rule at all become Unassigned in GA4, which what unassigned traffic in GA4 means covers, and visits with no referrer become Direct, covered in why direct traffic is the bucket for everything analytics could not attribute.

An analyst checks a printed report against a checklist, the kind of audit that catches organic traffic errors.

How do you audit your organic traffic numbers?

You audit organic traffic by comparing the channel against the rule that built it, one input at a time:

  1. Break Organic Search down by session source. Every source should be a search engine; anything else arrived through utm_medium=organic.
  2. Break it down by landing page. Pages that no search result links to point at a stripped GCLID or a mistagged link.
  3. Check the referral report for search domains. Each one is a search engine missing from the source list.
  4. Compare weekly organic sessions against Search Console clicks for the same pages, and treat a sudden change in the ratio as a tracking change rather than a ranking change.
  5. Fix the tags at the source. A corrected utm_medium repairs future data, and Google does not allow edits to the default channel group itself.

How does Flowsery report organic traffic?

Flowsery reports organic traffic as one of the channels in its revenue attribution view. The Revenue by Source report shows "which channels, organic, paid, social, direct, generate the most revenue", and Revenue per Visitor calculates "the true value of each traffic source", so you can see "what a click from Google, Twitter, or your newsletter is worth." Payments from Stripe, Paddle, Polar, Shopify or Lemon Squeezy tie back to the session that converted. The revenue tracking feature shows how the source breakdown works.

Frequently asked questions

Is organic traffic the same as SEO traffic?

In analytics reports the two are the same set of visits. GA4 fills Organic Search from the search site list or medium=organic, so any visit that meets the rule counts, whether or not SEO work produced it.

Does traffic from Google AI Overviews count as organic traffic?

Yes, in GA4. Google's own channel description says Organic Search includes "Google's AI Overviews and AI Mode." Visits from ChatGPT, Gemini and similar assistants go to the separate AI Assistant channel instead.

Why does GA4 show google / organic for traffic I paid for?

The Google Ads click reached your site without its GCLID and without UTM tags. Google's auto-tagging page warns that redirects must pass the GCLID to the final landing page. Without it, GA4 sees a Google referrer and no paid medium, and the Organic Search rule matches.

Can I see which keywords brought organic traffic in my analytics tool?

No client-side analytics tool receives the query, because search engines withhold it from the referrer. Matomo labels these visits "Keyword not defined" and GA4 shows no query dimension on the visit. Keyword data comes from Search Console, either directly or through the Search Console link in GA4.

GA4 evaluates Organic Video before Organic Search in its published rule list. A visit from a source on the video site list, or with a medium containing "video", lands in Organic Video. The same logic sends shopping sites to Organic Shopping.

Does Matomo count Bing and DuckDuckGo as search engines?

Yes. Matomo's SearchEngines.yml holds definitions for the major engines, each with hostnames, keyword parameters and hidden keyword paths. A visit from a listed host gets REFERRER_TYPE_SEARCH_ENGINE unless an AI assistant, campaign or direct entry check matched first.

Can you edit GA4's default channel grouping rules?

Google doesn't allow edits to the default channel group. Correcting a wrong utm_medium repairs sessions going forward, and visits already filed keep their default channel. To regroup past visits, build a custom channel group, which Google says can be applied to your reports retroactively.

Where do visits go when they match no GA4 channel rule at all?

GA4 files them as Unassigned, a channel separate from Organic Search, Referral and Direct. A visit lands there when its source, medium and campaign data don't satisfy any rule in Google's published list, including the manual rules for search, social, video and shopping.

Why might a page that ranks in search show Direct as its top channel?

A page shows Direct on top when many of its visitors arrive with no referrer, such as from bookmarks, apps or links under a no-referrer policy. A Google Search click does not drop its referrer on the way to an HTTP page, because Google sets a referrer policy of origin, which sends Google's origin even on a downgrade, so GA4 can still match it against the search site list.

What does Matomo call its paid keyword recovery feature?

Matomo calls it Search Engine Keywords Performance, a premium feature that imports keyword data from Google, Bing and Yahoo. It is included in Matomo Cloud plans and sold on the Matomo Marketplace for On-Premise users. It exists because the referrer never carries the query, so "Keyword not defined" visits have no other source for the term.

Was This Article Helpful?

Let us know what you think!

See us more often in Google

One click marks Flowsery as a preferred source, so our articles sit higher in your Top Stories, AI Mode, and AI Overviews.

Before you go...

Flowsery

Flowsery

Revenue-first analytics for your website

Track every visitor, source, and conversion in real time. Simple, powerful, and cookie-free.

Real-time dashboard

Goal tracking

Cookie-free tracking

Related Glossary Terms

Related Articles