# Verify your install

> Check that Ranqo accepts your site key, confirm the first real visit on the install page, and find out why a report returns ok false.

Source: https://ranqo.ai/docs/integrations/site-tracking/verify

There are two things to check: that Ranqo accepts your key, and that your site is actually sending page views. The first takes one command; the second, one visit to your site.

## Test the key from a terminal

Run this from any machine with internet access, with your key in place of the placeholder. On the **Install Site Tracking** page, the **Code snippet** method shows the same command with your key already filled in, under **3 · Verify**.

```bash
curl -sG "https://app.ranqo.ai/api/v1/intake/pageview" \
  --data-urlencode "url=https://example.com/test" \
  --data-urlencode "userAgent=Mozilla/5.0 (compatible; GPTBot/1.0)" \
  --data-urlencode "ref=" \
  --data-urlencode "ip=1.2.3.4" \
  --data-urlencode "websiteKey=rk_live_YOUR_SITE_KEY"

# Expected: {"ok":true}
```

`{"ok":true}` means Ranqo accepted the key and the report. `{"ok":false}` means it refused it: see [below](#what-okfalse-means). An error status instead of either is a failure on Ranqo's side; run the command again.

The command sends a made-up visit, so know what it leaves behind. Ranqo records it like any other visit: it appears in the **Live Feed** as GPTBot fetching `/test`, it counts toward this month's visit allowance and the brand's traffic figures, and it is marked unverified, because `1.2.3.4` is not in OpenAI's published ranges, which lowers GPTBot's verified share in **Agents detected**. If it is the only event the key has received, the install page reports it as your first event. It proves that Ranqo accepts the key, not that your site sends reports.

## Watch for the first real visit

The install page checks for your key's first event every few seconds, from the moment the key exists.

### 1. Tell the page you have deployed
Below the install code, press **I've installed it — verify now**. The card changes to **Listening for your first event**.

### 2. Visit your site
Open any page on your deployed site in a browser.

### 3. Look for the confirmation
Within seconds, the card reads **Working — first event received** and names who visited which path (your own visit reads **Browser visitor**). When a country was recorded, the card adds it: where the server or edge that sent the report is, which is not necessarily where the visitor is. It also offers **View dashboard**. You can leave the page and come back later; the check runs whenever the page is open.

The confirmation appears as soon as the key has received any event, and names the most recent one at that moment. It does not update while the page stays open; reload the page to see the latest event. If the only event so far is the terminal test, it shows GPTBot on `/test`, which proves the key but not your site. To confirm the site itself, open **Traffic** and look for your own visit in the **Live Feed**.

## What `{"ok":false}` means

Ranqo never says why a report was refused. That is deliberate: a mistake in your install never turns into an error on your site, and someone guessing keys learns nothing. One of these is true:

- **The key is malformed.** A key is `rk_live_` followed by 40 lowercase hexadecimal characters, with nothing before or after it. Common causes are an environment variable that is not set, so no valid key is sent; quotes, a space or a line break copied into the value; and a key cut short when pasting.
- **The key does not exist or has been revoked.** Check it against the key on the install page. See [Site keys](https://ranqo.ai/docs/integrations/site-tracking/keys).
- **The request is incomplete.** `url` is missing, or a value is longer than the endpoint accepts. See [Intake API](https://ranqo.ai/docs/integrations/site-tracking/intake-api).
- **The key sent too many reports at once.** Each key accepts up to 100 reports per second. You are only likely to reach it during a load test.

## `{"ok":true}` but nothing appears

The terminal test works but visits to your site never show up. Check, in this order:

1. **The key is set where the site runs.** A `.env` file on your laptop does not reach production. Without it, the install code sends no valid key and Ranqo refuses every report silently.
2. **The change is deployed**, to the environment and hosts you are visiting.
3. **The page you visit is one the code reports.** Only `GET` page requests count; paths under `/api/` and static files are skipped. On Next.js, check the page matches the middleware's `matcher`.
4. **The request reaches your server.** If a CDN in front of your server answers some requests from its cache, your server code never sees them, so it cannot report them.
5. **The host is not skipped.** A host listed in `SKIP_HOSTS` is never reported.
6. **The path is not one Ranqo drops.** Paths only vulnerability scanners ask for, such as `/.env` or `/wp-admin`, are accepted and then discarded. Test with a normal page.
7. **The key's brand is not deleted.** Reports sent with a deleted brand's key are still accepted and recorded, but under that brand, which no page shows until you restore it. See [Site keys](https://ranqo.ai/docs/integrations/site-tracking/keys#deleting-a-brand).

More causes, by stack, are in [No Site Tracking events](https://ranqo.ai/docs/guides/troubleshooting/site-tracking-no-events).
