Not Provided Keywords: How to Get Your Search Data Back
“Not provided” keywords in Google Analytics appear when Google encrypts organic search query data, replacing the actual search terms visitors used with the label “(not provided).” To recover this data, you need to connect Google Search Console to GA4, use Search Console’s Performance report directly, or layer in third-party tools that reconstruct keyword-level traffic attribution.
This is not a minor inconvenience. If you are running SEO alongside paid search and trying to understand which organic queries are actually driving conversions, “(not provided)” sitting at the top of your keyword report makes that analysis almost impossible without knowing where to look.
Key Takeaways
- Google has encrypted organic keyword data since 2013, meaning “(not provided)” is a structural feature of GA4, not a bug you can fix inside the platform.
- Connecting Google Search Console to GA4 is the most reliable free method for recovering keyword-level organic data, though it shows impressions and clicks rather than sessions and conversions.
- Search Console’s Performance report gives you query-level data directly, including average position, CTR, and click volume, which is often more actionable than what GA4 surfaces alone.
- Third-party tools like Semrush can fill gaps by combining rank tracking with traffic estimates, giving you a fuller picture of which keywords are driving organic performance.
- No single method fully restores what was lost. The practical answer is combining two or three data sources and triangulating rather than expecting one clean report.
In This Article
- Why Does “(Not Provided)” Exist in the First Place?
- Method 1: Connect Google Search Console to GA4
- Method 2: Use Search Console’s Performance Report Directly
- Method 3: Use a Third-Party SEO Tool for Keyword-Level Traffic Estimates
- Method 4: Reconstruct Keyword Intent Through Landing Page Analysis
- Method 5: Use Hotjar or Behaviour Analytics to Add Context
- What About Paid Keyword Data? It Is Not the Same Problem
- Building a Practical Reporting Workflow Around “(Not Provided)”
If you want to understand this problem in context, it sits squarely within the broader challenge of making Google Analytics data actually useful for commercial decision-making. My marketing analytics hub covers the full picture, from GA4 setup to attribution to reading data without fooling yourself.
Why Does “(Not Provided)” Exist in the First Place?
In 2011, Google began encrypting search queries for users who were logged into a Google account and searching over HTTPS. By 2013, they extended this to all organic searches, regardless of whether the user was logged in. The practical effect was that the keyword referral data that had been passed to Google Analytics in the URL string was stripped out, replaced with “(not provided).”
The stated reason was user privacy. The actual effect was that organic search marketers lost granular keyword attribution overnight. Paid search was unaffected because Google still passes query data through for ads, which is a commercial decision as much as a privacy one. That asymmetry tells you something about how Google thinks about this data.
I remember the shift clearly. At the time I was running performance teams across multiple clients, and we had built reporting workflows that relied on keyword-level organic data flowing directly into analytics. When “(not provided)” started dominating those reports, we had to rebuild how we measured SEO effectiveness from scratch. It forced better thinking, honestly, because we had been leaning too hard on a single data point rather than triangulating across sources. But it was a painful adjustment.
The important thing to understand is that the data still exists inside Google’s systems. Google Search Console receives it. The gap is specifically in what gets passed to third-party analytics platforms like GA4. That distinction matters because it tells you exactly where to go to get it back.
Method 1: Connect Google Search Console to GA4
This is the first thing to do if you have not already done it. Linking Search Console to GA4 creates a dedicated reporting collection inside GA4 that surfaces organic search query data directly within the platform. It does not restore keyword data to your standard session or conversion reports, but it does give you a structured view of which queries are generating impressions and clicks from organic search.
To set this up, go to your GA4 property, open Admin, and look for “Search Console Links” under the Property column. From there you can link your verified Search Console property. Once connected, a new “Search Console” collection appears in the Reports section, containing two reports: “Google organic search queries” and “Google organic search traffic.”
The organic search queries report shows you the actual search terms, along with clicks, impressions, click-through rate, and average position. The organic search traffic report lets you cross-reference landing pages with those same metrics. Between the two, you can start to understand which queries are driving traffic to which pages, which is the core question that “(not provided)” was blocking.
The limitation worth acknowledging: this data is query-level, not session-level. You cannot directly tie a specific keyword to a conversion event inside GA4 using this method. You can see that a query drove 400 clicks to a landing page, and separately that the landing page had a 3.2% conversion rate, but the direct line between keyword and conversion requires a different approach.
For most SEO practitioners, this is still enormously useful. Knowing which queries are generating impressions with low CTR tells you where to improve title tags and meta descriptions. Knowing which queries are sending traffic to pages that were not designed for those terms tells you where content gaps exist. That is actionable intelligence even without conversion-level attribution.
Method 2: Use Search Console’s Performance Report Directly
Google Search Console’s Performance report is more powerful than most people use it. If you have not spent serious time in it, the GA4 integration is a good starting point, but the native Search Console interface gives you more filtering flexibility and a longer data history (up to 16 months versus GA4’s shorter Search Console window).
Inside Search Console, the Performance report lets you filter by query, page, country, device, and search type. You can compare date ranges, identify queries where you rank in positions 5 to 15 and have reasonable impression volume but low CTR, and prioritise those for optimisation. You can filter to a specific subdirectory or page type and see exactly which queries are landing there.
One workflow I have used repeatedly when auditing organic performance for a new client is to export the full query list from Search Console, segment it by landing page, and then cross-reference average position against CTR. Queries where position is 3 to 7 but CTR is significantly below what you would expect for that position are usually title tag or meta description problems. Queries where CTR is strong but conversion is weak are usually landing page problems. That two-step diagnosis is only possible if you are treating Search Console as a primary data source, not a secondary one.
Search Console does not replace GA4. It does not show you what happens after the click. But for understanding organic visibility and click performance at the keyword level, it is the most reliable source available, and it is free.
Method 3: Use a Third-Party SEO Tool for Keyword-Level Traffic Estimates
Search Console shows you data for queries your site has already appeared for. It does not show you competitive context, and it does not give you traffic estimates that you can use for forecasting or benchmarking against competitors. That is where tools like Semrush come in.
Semrush’s Organic Research report shows you estimated organic traffic by keyword for any domain, including your own. It is modelled data rather than verified data, so treat it as directional rather than precise. But for understanding which keywords are likely driving the most traffic, identifying pages that rank well for high-volume terms, and spotting keywords where you rank but are losing ground, it fills a genuine gap.
The practical workflow is to combine Search Console data (which is accurate but limited to your own site) with Semrush data (which is modelled but includes competitive context). Where the two sources agree, you can have reasonable confidence. Where they diverge significantly, that is worth investigating rather than averaging.
Semrush also publishes useful guidance on UTM tracking codes in Google Analytics, which becomes relevant when you want to track campaign-level traffic with more precision than GA4’s default channel groupings provide. UTM parameters do not solve the “(not provided)” problem for organic, but they are essential for ensuring paid and referral traffic is correctly attributed, which keeps your organic data cleaner by reducing misattribution.
Method 4: Reconstruct Keyword Intent Through Landing Page Analysis
This is the method that requires the most analytical thinking but often produces the most commercially useful output. The logic is straightforward: if you cannot see which keyword drove a session, you can often infer it from which page the session landed on, because well-structured sites have pages that target specific keyword clusters.
In GA4, go to Reports, then Acquisition, then Traffic Acquisition. Filter by organic search as the session source. Then use the Landing Page dimension to see which pages are receiving organic traffic. If your site is well-organised, a page targeting “project management software for agencies” is probably receiving traffic from queries in that cluster, even if you cannot see the exact terms.
You then cross-reference those landing pages with Search Console to confirm which queries are actually driving traffic there. This two-step process, GA4 for volume and behaviour data, Search Console for query data, gives you a reasonably complete picture without needing any additional tools.
Where this breaks down is on pages that rank for a wide variety of unrelated queries, or on homepages that attract organic traffic from branded and non-branded searches simultaneously. In those cases, the landing page inference is too blunt to be reliable, and you need Search Console’s query-level filtering to separate the signal.
I have used this approach on client audits where Search Console data was incomplete or the property had not been properly verified. It is not perfect, but it is enough to identify the highest-priority optimisation opportunities, which is usually what the brief actually requires.
Method 5: Use Hotjar or Behaviour Analytics to Add Context
Keyword data tells you how people arrived. Behaviour data tells you what they did when they got there. The two together tell you whether your organic traffic is actually valuable or just generating sessions that bounce.
Tools like Hotjar complement Google Analytics by showing you session recordings, heatmaps, and on-page behaviour at a level of granularity that GA4 does not provide. Hotjar’s integration with Google Analytics lets you filter recordings by traffic source, so you can watch sessions that came from organic search and see whether those visitors are engaging with the page or leaving immediately.
This matters for the “(not provided)” problem because it shifts the question slightly. Instead of asking “which keyword drove this session,” you start asking “is the traffic this page receives from organic search behaving in a way that suggests keyword-content alignment?” If organic sessions on a page have a high scroll depth and low bounce rate, the keyword targeting is probably working, even if you cannot see the exact terms. If organic sessions are bouncing within ten seconds, something is misaligned, and Search Console can then tell you which queries are driving those sessions.
Hotjar also offers broader guidance on using behaviour analytics alongside GA4, which is worth reading if you are building a more complete analytics stack. The principle is that quantitative data from GA4 tells you what is happening, and qualitative data from behaviour tools tells you why. Neither is sufficient on its own.
What About Paid Keyword Data? It Is Not the Same Problem
It is worth being clear about one thing that often causes confusion. Paid search keyword data in GA4 is not affected by the “(not provided)” issue in the same way. When you link Google Ads to GA4, the search terms from paid campaigns flow through with full attribution, including which keyword triggered the ad, which match type, and which campaign.
This is why, when I was at lastminute.com running paid search campaigns, the reporting was clean and immediate. You could see exactly which search terms were converting, at what cost, and adjust bids or match types accordingly. The feedback loop was tight. Organic search has never had that luxury, and the “(not provided)” change made the gap between paid and organic visibility even wider.
If you are running both paid and organic, one useful cross-reference is to look at your paid search term reports in Google Ads to understand which queries are converting commercially, then use that intelligence to prioritise organic keyword targeting. The paid data effectively gives you a conversion-validated keyword list that you can then use to inform your SEO content strategy. It is not a direct solution to “(not provided),” but it is a commercially smart way to use the data you do have.
Semrush has a detailed breakdown of average time on page in Google Analytics that is relevant here too, because dwell time is one of the behavioural signals that can help you assess keyword-content alignment when direct keyword data is unavailable. Pages where organic visitors spend significant time are likely matching search intent well, regardless of whether you can see the exact query.
Building a Practical Reporting Workflow Around “(Not Provided)”
The mistake I see most often is teams treating “(not provided)” as a blocker and either giving up on keyword-level organic analysis entirely, or spending money on tools that promise to “solve” it when the free methods are usually sufficient.
A practical workflow looks like this. First, ensure Search Console is verified and linked to GA4. This is non-negotiable and takes fifteen minutes. Second, build a monthly reporting routine that pulls the top 50 queries from Search Console by clicks, segments by landing page, and cross-references with GA4 conversion data for those pages. Third, use Semrush or a similar tool quarterly to check competitive keyword positions and identify gaps that Search Console would not surface because you are not yet ranking for those terms.
If you want to go further, Crazy Egg offers useful guidance on building Google Analytics dashboards that surface the metrics that matter most, and their broader Google Analytics resource covers the kind of setup decisions that affect data quality upstream. Getting the foundation right matters more than adding tools on top of a broken setup.
The honest framing is this: you will not get back a clean, keyword-to-conversion report for organic search. That data is not available to you in the way it once was. What you can get is a layered picture, query performance from Search Console, traffic and behaviour from GA4, competitive context from third-party tools, and on-page behaviour from Hotjar or similar. That layered picture is actually more useful than a single keyword report would be, because it forces you to think about the full user experience rather than fixating on one metric.
This connects to a broader point I have made elsewhere about analytics: the goal is honest approximation, not false precision. Chasing a perfect keyword attribution model for organic search is a distraction. Understanding which content is working, for whom, and what they do when they arrive is the question that drives better decisions.
There is also a useful piece from MarketingProfs on preparing properly for web analytics that has aged well. The core argument, that most analytics failures are setup failures rather than tool failures, applies directly here. “(Not provided)” is a structural constraint, but teams that struggle with it most are usually the ones who never built a proper measurement foundation in the first place.
For more on building analytics systems that hold up under commercial pressure, the Marketing Analytics & GA4 hub covers everything from attribution models to GA4 configuration to the kind of reporting decisions that actually affect how marketing is evaluated inside a business.
About the Author
Keith Lacy is a marketing strategist and former agency CEO with 20+ years of experience across agency leadership, performance marketing, and commercial strategy. He writes The Marketing Juice to cut through the noise and share what works.
