# GetIntel script and WordPress plugin

> Track AI visitors and AI crawlers without Google Analytics or Cloudflare, using a one-line visitor tag and a small server script, or one WordPress plugin for both.

Source: https://getintel.ai/docs/integrations/getintel-script/

No Google Analytics or Cloudflare? GetIntel's own scripts cover both halves of AI traffic. Find your **site key** in **Integrations → GetIntel script**.

## AI visitors: the visitor tag

One line of JavaScript that only reports visits arriving from AI assistants (ChatGPT, Perplexity, Gemini, Claude, Copilot). No cookies, no personal data, and it loads after your page.

<Tabs syncKey="site-platform">
<TabItem label="Any website">
Paste in the `<head>` of every page, or once in your site-wide header:

```html
<script async src="https://ingest.getintel.ai/v1/ai.js" data-site="YOUR_SITE_KEY"></script>
```
</TabItem>
<TabItem label="Google Tag Manager">
**Tags → New → Custom HTML**, paste the tag above, set the trigger to **All Pages**, then **Save → Submit**.
</TabItem>
<TabItem label="Next.js">
In `app/layout.tsx`, inside `<body>`:

```tsx

<Script src="https://ingest.getintel.ai/v1/ai.js" data-site="YOUR_SITE_KEY" strategy="afterInteractive" />
```
</TabItem>
<TabItem label="Shopify">
**Online Store → Themes → Edit code → theme.liquid**, paste the tag just before `</head>` and save.
</TabItem>
</Tabs>

To test, open your site in a private window with `?utm_source=chatgpt.com` added to the address. It appears in GetIntel within a few minutes.

## AI crawlers: the server script

AI bots don't run JavaScript, so this part runs on your server. It reports only requests from AI bots, after the page is served, so it never slows your site.

<Tabs syncKey="site-platform">
<TabItem label="WordPress">
[Download the GetIntel plugin](/downloads/getintel-wordpress.zip), then in WordPress go to **Plugins → Add New → Upload Plugin**, choose the zip, install and activate. Then **Settings → GetIntel** and paste your site key. The plugin covers AI crawlers and AI visitors, so you don't need the tag as well.
</TabItem>
<TabItem label="Next.js">
```sh
npm install @getintel/agent
```

```ts title="middleware.ts"

```

On Next.js 16 the file is `proxy.ts` and the export is `proxy`: `export const proxy = getintel({ siteKey: 'YOUR_SITE_KEY' })`.
</TabItem>
<TabItem label="Node / Express">
```sh
npm install @getintel/agent
```

```js
const { getintel } = require('@getintel/agent/express')

app.use(getintel({ siteKey: 'YOUR_SITE_KEY' }))
```
</TabItem>

<TabItem label="PHP">
```sh
composer require getintel/agent
```

```php title="index.php"
<?php
require __DIR__ . '/vendor/autoload.php';
\GetIntel\Agent::track('YOUR_SITE_KEY');
```
</TabItem>
</Tabs>

<Aside>
Your server checks in on the first request after you deploy. Integrations then shows **Installed**, and AI bots appear as they visit.
</Aside>
