Put Peeko on your site
One script tag, or one prompt pasted into the agent that built the site. No cookies, no consent banner, and nothing to configure afterwards.
Pick what you build with
The keys below are placeholders. Your keys are filled in the moment you create a site, in the install card on your dashboard and in the prompt the command line prints.
Lovable
Paste the prompt into the chat and let it edit the project, then publish as usual.
The prompt
Install Peeko analytics on this site: add `<script defer src="https://usepeeko.com/t.js" data-site="YOUR_SITE_KEY"></script>` to the head of every page. Then connect Peeko's MCP server so I can ask about the data: `claude mcp add --transport http peeko https://usepeeko.com/api/mcp --header "Authorization: Bearer YOUR_API_KEY"`. If I do not have a Peeko account yet, call the MCP server's sign_up tool to create one. Then restart the session and ask Peeko for a traffic summary.
Or the tag by hand
<script defer src="https://usepeeko.com/t.js" data-site="YOUR_SITE_KEY"></script>v0
Paste the prompt into the chat, then deploy the project as usual.
The prompt
Install Peeko analytics on this site: add `<script defer src="https://usepeeko.com/t.js" data-site="YOUR_SITE_KEY"></script>` to the head of every page. Then connect Peeko's MCP server so I can ask about the data: `claude mcp add --transport http peeko https://usepeeko.com/api/mcp --header "Authorization: Bearer YOUR_API_KEY"`. If I do not have a Peeko account yet, call the MCP server's sign_up tool to create one. Then restart the session and ask Peeko for a traffic summary.
Or the tag by hand
<script defer src="https://usepeeko.com/t.js" data-site="YOUR_SITE_KEY"></script>Bolt
Paste the prompt into the chat, then deploy the project as usual.
The prompt
Install Peeko analytics on this site: add `<script defer src="https://usepeeko.com/t.js" data-site="YOUR_SITE_KEY"></script>` to the head of every page. Then connect Peeko's MCP server so I can ask about the data: `claude mcp add --transport http peeko https://usepeeko.com/api/mcp --header "Authorization: Bearer YOUR_API_KEY"`. If I do not have a Peeko account yet, call the MCP server's sign_up tool to create one. Then restart the session and ask Peeko for a traffic summary.
Or the tag by hand
<script defer src="https://usepeeko.com/t.js" data-site="YOUR_SITE_KEY"></script>Cursor
Paste the prompt into the chat pane with the project open.
The prompt
Install Peeko analytics on this site: add `<script defer src="https://usepeeko.com/t.js" data-site="YOUR_SITE_KEY"></script>` to the head of every page. Then connect Peeko's MCP server so I can ask about the data: `claude mcp add --transport http peeko https://usepeeko.com/api/mcp --header "Authorization: Bearer YOUR_API_KEY"`. If I do not have a Peeko account yet, call the MCP server's sign_up tool to create one. Then restart the session and ask Peeko for a traffic summary.
Or the tag by hand
<script defer src="https://usepeeko.com/t.js" data-site="YOUR_SITE_KEY"></script>Claude Code
Paste the prompt into the terminal with the project open.
The prompt
Install Peeko analytics on this site: add `<script defer src="https://usepeeko.com/t.js" data-site="YOUR_SITE_KEY"></script>` to the head of every page. Then connect Peeko's MCP server so I can ask about the data: `claude mcp add --transport http peeko https://usepeeko.com/api/mcp --header "Authorization: Bearer YOUR_API_KEY"`. If I do not have a Peeko account yet, call the MCP server's sign_up tool to create one. Then restart the session and ask Peeko for a traffic summary.
Or the tag by hand
<script defer src="https://usepeeko.com/t.js" data-site="YOUR_SITE_KEY"></script>Codex
Paste the prompt into the session with the project open.
The prompt
Install Peeko analytics on this site: add `<script defer src="https://usepeeko.com/t.js" data-site="YOUR_SITE_KEY"></script>` to the head of every page. Then connect Peeko's MCP server so I can ask about the data: `claude mcp add --transport http peeko https://usepeeko.com/api/mcp --header "Authorization: Bearer YOUR_API_KEY"`. If I do not have a Peeko account yet, call the MCP server's sign_up tool to create one. Then restart the session and ask Peeko for a traffic summary.
Or the tag by hand
<script defer src="https://usepeeko.com/t.js" data-site="YOUR_SITE_KEY"></script>Next.js
Put the tag in the root layout, so every route carries it.
A plain script tag is enough. next/script also works: it sets document.currentScript to null, and the tracker falls back to finding its own tag by its data-site attribute.
The prompt
Install Peeko analytics on this site: add `<script defer src="https://usepeeko.com/t.js" data-site="YOUR_SITE_KEY"></script>` to the head of every page. Then connect Peeko's MCP server so I can ask about the data: `claude mcp add --transport http peeko https://usepeeko.com/api/mcp --header "Authorization: Bearer YOUR_API_KEY"`. If I do not have a Peeko account yet, call the MCP server's sign_up tool to create one. Then restart the session and ask Peeko for a traffic summary.
Or the tag by hand
<script defer src="https://usepeeko.com/t.js" data-site="YOUR_SITE_KEY"></script>Plain HTML
Paste the tag before the closing head tag of every page you want to measure.
The prompt
Install Peeko analytics on this site: add `<script defer src="https://usepeeko.com/t.js" data-site="YOUR_SITE_KEY"></script>` to the head of every page. Then connect Peeko's MCP server so I can ask about the data: `claude mcp add --transport http peeko https://usepeeko.com/api/mcp --header "Authorization: Bearer YOUR_API_KEY"`. If I do not have a Peeko account yet, call the MCP server's sign_up tool to create one. Then restart the session and ask Peeko for a traffic summary.
Or the tag by hand
<script defer src="https://usepeeko.com/t.js" data-site="YOUR_SITE_KEY"></script>Let your agent read the numbers
Peeko hosts an MCP server, so the agent that installed the tracker can also answer questions about the traffic it brought in. Create a key on your settings page, then give it to your client. Every client below reads the same endpoint.
Claude Code
claude mcp add --transport http peeko https://usepeeko.com/api/mcp --header "Authorization: Bearer mcpk_your_key_here"Codex
codex mcp add peeko --url https://usepeeko.com/api/mcp --header "Authorization: Bearer mcpk_your_key_here"Claude Desktop, Cursor, or any client with a config file
Add a peeko entry under mcpServers, of type http, with the key as a bearer header.
{"mcpServers":{"peeko":{"type":"http","url":"https://usepeeko.com/api/mcp","headers":{"Authorization":"Bearer mcpk_your_key_here"}}}}The full MCP guide has every tool, the payload field names and the protocol notes.
Or stay in the terminal
The Peeko command line does the same work with no browser. It needs no install and no dependencies, and it reads a key from your settings page.
npx @usepeeko/cli loginstores a key from your settings page
npx @usepeeko/cli initcreates a site and prints its snippet and prompt
npx @usepeeko/cli sitesevery site the key can read
npx @usepeeko/cli summary --range 7dpeople, visits, page views, time on site
npx @usepeeko/cli pagesthe pages people actually read
npx @usepeeko/cli livewho is on the site right now
The full command line guide has every option, the exit codes and how keys are stored.
Three files AI crawlers ask for
Peeko will tell you when a crawler asked for one of these and got a 404. None of them is required, and each takes a minute.
/llms.txt
A plain text summary of your site for a language model: what it is, and links to the pages worth reading. It is a proposed convention rather than a standard, so nothing breaks without it, and several crawlers now look. Write it in Markdown and serve it at the root of the site.
/sitemap.xml
The list of pages you want found. On Next.js, export a sitemap function from app/sitemap.ts and the framework serves it for you. On a static site, generate it at build time. List only pages you are happy to have indexed.
/robots.txt
Who may crawl what. One thing worth knowing before you add one is that a robots.txt served by your own site replaces whatever your CDN was serving rather than adding to it, so read the live file before and after.
If you want to say something about AI in particular, a Content-Signal line states whether your pages may be used for search, for answers and for training. Leaving one of the three out means neither granted nor restricted, which is weaker than saying no.