# No data arrives

> The script is on your site but Nvivio shows nothing? Check these causes one by one, from a page cache and a wrong domain to your own browser.

Most installations work at the first visit. When the [installation page](https://nvivio.com/docs/install#check-that-it-works) keeps waiting, or a site that worked goes **Quiet**, one of the causes below is almost always the reason. Go through them in order.

## 1. Is the line on the page?

Open your site in a private window, view the page source (`Ctrl+U`, or `Cmd+Option+U` on a Mac) and search for `nviv.io`. You should find your line, with your own site code:

```html
<script defer src="https://nviv.io/js/NV-XXXXXXX.js"></script>
```

Not there? Then the page your visitors get is not the one you edited:

- **A page cache** (WP Rocket, LiteSpeed, W3 Total Cache, your host's cache or a CDN such as Cloudflare) keeps serving the pages from before. Empty it once.
- **Google Tag Manager** only loads the tag after you choose **Submit** and **Publish**; until then only your preview has it ([Check that it works](https://nvivio.com/docs/google-tag-manager#check-that-it-works)).
- **A theme or a release** replaced the layout the line was in. Put it back in the shared layout, or use the [WordPress plugin](https://nvivio.com/docs/wordpress), which keeps it there through theme changes.

Copy the line again from **Settings › Installation** if you are not sure about the code: the last character is a check character, and a script with an unknown code answers `404`.

## 2. Does the browser send anything?

Open the browser's developer tools (`F12`), choose **Network**, filter on `nviv.io` and reload the page:

| What you see | What it means |
|---|---|
| `NV-….js` with `200`, then `e` with `204` | The visit was sent and accepted. Look at [Live](https://nvivio.com/docs/live): it appears within seconds. |
| `e` with `403` | The address of the page is not one of the site's domains. The answer names the hostname and the domains the site has. See step 3. |
| `NV-….js` with `404` | The site code in the line is wrong. Copy the line again. |
| Nothing at all, or a blocked request | Something stops the script: see steps 4 and 5. |

The **Console** tab can say why a script was blocked, for example by a Content-Security-Policy.

## 3. Is it the right domain?

Nvivio only accepts events from the [domains of the site](https://nvivio.com/docs/settings#domains), so nobody can pollute your numbers by copying your line. Subdomains (www, app, shop) count automatically.

- A site that also runs on another domain, such as `example.be` next to `example.com`, needs that domain under **Settings › Domains** (up to 50).
- **localhost** and addresses without a dot are always refused, and cannot be added. Test on the real site, or on a staging address under your own domain such as `staging.example.com`.
- A preview address at a hosting platform (`my-site-git-main.vercel.app`) is a domain of its own: add it if you want to measure it, or test on your own domain.

## 4. Is your own visit left out?

Some visits are not counted on purpose, and your own test visit is often one of them:

- **Brave, DuckDuckGo and Firefox with the setting on** send Global Privacy Control, and such a browser is never counted ([Global Privacy Control](https://nvivio.com/docs/privacy#visitors-can-object)). Test in Chrome, Edge or Safari.
- **Your IP address is excluded** under **Settings › Exclude visits** ([Exclude visits](https://nvivio.com/docs/settings#exclude-visits)), for example your office's.
- **You objected** on your own privacy page: that browser then carries the cookie `_nvivio_sid=0` and is not counted ([Visitors can object](https://nvivio.com/docs/privacy#visitors-can-object)).
- **The WordPress plugin** leaves out logged-in administrators by default ([Check that it works](https://nvivio.com/docs/wordpress#check-that-it-works)).
- **A VPN or a server in a data centre**: traffic from data centres counts as bots, and many VPNs run there. Your visit then shows up on the [Bots](https://nvivio.com/docs/bots) tab instead. iCloud Private Relay and Cloudflare WARP are not affected.
- **An ad blocker or privacy extension** may block analytics scripts, Nvivio's too. Turn it off for your site while you test. To count visitors with such a blocker too, serve Nvivio [through your own domain](https://nvivio.com/docs/proxy).

## 5. Does your site allow the script?

- **Content-Security-Policy.** Allow `https://nviv.io` in both `script-src` and `connect-src` ([Install the script](https://nvivio.com/docs/install#the-line)).
- **A consent tool that blocks scripts** (some cookie banners hold back every script until consent) can stop Nvivio as well. Nvivio sets no cookie by default, so you can let it load without consent: see [Nvivio and your cookie banner](https://nvivio.com/docs/cookie-banner).
- **Single-page apps** need nothing extra: navigation without a reload counts by itself ([Single-page apps](https://nvivio.com/docs/script#single-page-apps-and-hash-routes)). For routes like `#/page`, switch on hash routes.

## 6. Is the site counting at all?

- **A paused site** counts nothing; its dashboard says so in a bar at the top, with a button to measure it again ([Pause a site](https://nvivio.com/docs/sites#pause-a-site)).
- **Free over its pageviews** counts on for 7 days, then stops until the 1st of the next month, or until you take a paid plan or show the badge ([Over Free's pageviews](https://nvivio.com/docs/over-free-limit)).

## Still nothing?

Email support@nvivio.com with the domain of the site, the address of a page that has the line, and what the Network tab shows for `nviv.io`. Nvivio support can see which addresses were refused for your site and add a missing domain for you.
