New Website Not Showing on Google? How to Get It Indexed
Your new site launched but Google shows nothing. Check you are not blocking it, verify Search Console, submit a sitemap, inspect the home page and give Google time.
GA4 suddenly shows zero or far fewer visitors. Check Search Console first to see whether people really stopped coming, then find the missing, duplicated or blocked tag.
You open Google Analytics and the line has fallen off a cliff. Zero users yesterday, or a drop of most of your traffic on one particular day. Perhaps you redesigned the site, switched themes, installed a cookie banner, added a speed plugin, or nothing at all that you can remember. Before you panic about lost customers, find out which of two very different problems you have: people stopped coming, or Analytics stopped counting them.
This guide is for site owners, designers and marketers using Google Analytics 4 (GA4) on WordPress or any other site. It covers the checks in the order that finds the answer fastest. If people really have stopped coming from Google, the separate guides on disappearing from Google and traffic drops after a redesign take over.
GA4 counts a visit only when the visitor’s browser runs the Google tag (the gtag.js script, or Google Tag Manager) and that script sends a request to Google’s collection servers. Anything that stops that chain stops the count, even though the visitor saw your site perfectly well.
| Pattern in GA4 | Most likely cause |
|---|---|
| Sudden drop to zero on one day | The tag was removed or broken: theme change, plugin deactivated, measurement ID changed, a site rebuild that dropped the header code. |
| Sudden drop by a large share, not to zero | Consent banner added or changed, a speed plugin delaying scripts, a data filter switched on, or tracking working on some templates and not others. |
| Sudden jump to double, and engagement looks oddly low or high | Two tags firing on every page (a plugin and a hard-coded snippet, or GTM plus gtag). |
| Gradual decline over weeks | Usually real: seasonality, rankings, or a campaign ending. Confirm with Search Console and server logs. |
| Today and yesterday look low, older days fine | Normal processing delay. Standard reports can take a day or more to fill in. |
G-. Write it down; you will compare against it several times. An ID starting UA- belongs to Universal Analytics, which stopped processing data in 2023, so a site still sending only to a UA- ID records nothing.Search Console counts clicks from Google Search on Google’s side. It does not depend on any script running on your site, so it is an independent witness.
If Search Console clicks are steady while GA4 organic sessions collapsed, your tracking broke. Carry on with this guide. If both fell together, the traffic loss is real; go to website disappeared from Google or the lost Google traffic triage page. The two will never match exactly (they count different things), so look at the shape of the lines, not the totals.
Other independent witnesses: your hosting panel’s visitor statistics (AWStats, Webalizer or similar, which count server requests including bots), WooCommerce orders or form entries, and your email inbox. If orders and inquiries carried on as normal, people are still visiting.
If your visit appears, data collection works now. The problem may have been temporary, may affect only some pages or visitors (Step 5 and Step 6), or may be a reporting setting (Step 7). If your visit never appears, the tag is not firing or is sending to the wrong place. Go to Step 3.
GA4 also shows banners on the data stream page, such as No data received from your website yet on a new stream, or warnings that no data has arrived in the past 48 hours. Those confirm the stream is receiving nothing at all.
On your computer, list every Google tag ID the home page contains:
curl -sL https://example.com/ | grep -oE '(G|GT|AW|GTM|UA)-[A-Z0-9-]{4,}' | sort | uniq -c
What it does: curl -sL downloads the page quietly, following redirects. grep -oE prints only the parts that look like Google tag IDs (GA4 G-, Google tag GT-, Ads AW-, Tag Manager GTM-, old Universal Analytics UA-). sort | uniq -c counts how many times each appears. On Windows, use View page source and search for G- instead.
Good output: your own G- ID, or a GTM- container you know contains it. Bad output:
Pages served from a cache can contain an old version of the header. Run the command on two or three different page types (home, a blog post, a product, the checkout) because a template-specific header can drop the tag on some of them.
collect in the filter box and load your site. Accept the cookie banner if one appears.region1.google-analytics.com/g/collect or www.google-analytics.com/g/collect.tid value is the measurement ID it is sending to and en is the event name (page_view on a normal page load).| What you find | Meaning |
|---|---|
Requests with your tid, status 204 |
Data is reaching Google. If GA4 still shows nothing, check you are looking at the right property and stream, and Step 7. |
Requests with a different tid |
Wrong measurement ID on the site. |
| No collect requests before accepting, then requests after | Consent is working in Basic mode. Visitors who decline or ignore the banner are not counted. See Step 5. |
| No collect requests at all, even after accepting and clicking around | The tag is missing, blocked by a speed plugin, or broken by a JavaScript error. Check the Console tab for red errors, then Step 6. |
| Requests appear only after you move the mouse or scroll | A speed plugin is delaying the tag until user interaction. Visitors who leave without interacting are not counted. See Step 6. |
Requests blocked or shown in red as (failed) |
An extension, network filter or content security policy is blocking them. Test in a clean profile; check for a Content-Security-Policy header that does not allow Google’s domains. |
The free Google Tag Assistant (tagassistant.google.com) connects to your site and lists every Google tag that fired and the events it sent. It is a friendlier view of the same information.
On WordPress the tag usually arrives in one of these ways. Check each, because sites often collect two or three over the years:
header.php file, edited directly. A theme update overwrites it, removing the tag. See child theme problems.Keep exactly one route. Double tagging inflates page views and sessions and can make engagement figures meaningless. If you use Tag Manager, put GA4 only in Tag Manager and remove other snippets. After any change, purge all caches and repeat Step 2 and Step 3.
A consent banner that blocks Google Analytics until the visitor accepts is doing its job, but it means visitors who decline, or close the banner without choosing, are not counted in the normal way. A large drop the week a banner went live is often the banner, not your marketing.
Google’s Consent Mode lets the banner tell Google tags what the visitor agreed to. Version 2 uses four signals: analytics_storage and ad_storage (whether analytics and advertising cookies may be set), plus ad_user_data and ad_personalization (whether user data may be sent to Google for advertising and used for personalized ads). It can be set up two ways:
Common breakages: the banner sets defaults after the Google tag has already loaded, the Analytics script is filed in the wrong category, or the banner’s “accept” never actually updates consent. In the Network tab, the gcs parameter on collect requests shows the consent state Google received; G111 means both ad and analytics storage were granted and G100 means both denied. The full diagnosis is in cookie consent banner broke your site or analytics. This is a technical guide, not legal advice; what consent you need depends on where you and your visitors are, as covered in what a small business website needs for privacy.
Speed plugins and CDN features can break or hide the tag:
googletagmanager.com, gtag and your consent script from the delay list, or turn delay off for them. Your plugin’s documentation lists how to add exclusions.The general problem of scripts broken by speed settings is covered in menus, sliders and forms broken after Delay JS.
If data reaches Google but reports look empty, check the account side:
For changes to events (form submissions, purchases), use GA4’s Admin > Data display > DebugView. It shows events from browsers in debug mode only, second by second. You put your browser in debug mode by previewing in Tag Manager, by connecting Tag Assistant, or by adding the debug_mode parameter to the tag configuration. Events appear on a timeline with all their parameters, so you can confirm, for example, that a purchase event carries a value and currency. If an event never shows in DebugView while debug mode is on, it is not being sent; that is a tagging problem, not a reporting delay.
WooCommerce stores should place a real low-value test order after any analytics change and watch the purchase event arrive. Checkout tracking is easily broken by caching or a payment redirect that skips the thank you page.
Send your developer, agency or analytics plugin support:
grep command found, on which pages;Your host can help if a content security policy header or a server-level script optimization is blocking Google’s domains; our HTTP headers tool shows which security headers your site sends. If you are taking over a site from someone else, make sure you are an Administrator on the GA4 property itself, as listed in the inherited site takeover checklist.
Did this fix it?
Still stuck? Start again from what you can see in the Emergency Room.
Still stuck?
Print a free one-page checklist to keep, or open the Emergency Room if the symptom does not match.
Get the free checklistsKeep reading
Search the field manual
Or jump straight to a symptom
Press / to search from any page, Esc to close