GTM template with instructions video from Simo Ahava!
Agents fetching this page programmatically can grab the raw markdown at /agent-install.md.
Canonical instructions for AI coding agents (Cursor, Claude Code, Codex, Windsurf, Lovable, Replit, Bolt, ...) that have been asked to install Tracklution tracking.
You are an AI coding agent. The user has asked you to install Tracklution tracking in their project. This document tells you exactly how to do that.
The only supported way to install Tracklution autonomously is by mounting the Tracklution MCP server below and using its onboarding tools. Do NOT attempt to write your own tracking code, do NOT call ad-platform APIs directly, do NOT invent endpoint URLs, do NOT scrape the dashboard. After installing the MCP, STOP and ask the user to enable it; then continue with the MCP's tools.
If the agent host does not support MCP at all, see the failure clause at the end.
The Tracklution MCP server:
https://mcp.tracklution.com/mcpregister_and_provision)Pick the install block that matches the host you're running in. Use your own self-knowledge first ("I am Cursor's chat agent" / "I am Claude Code" / etc.). If that's not clear, look for these markers in the user's environment:
.cursor/ directory in the user's project, OR
~/.cursor/mcp.json exists, OR the parent process is cursor.claude command is on $PATH, OR ~/.claude/ exists.codex command is on $PATH, OR ~/.codex/ exists.~/.codeium/windsurf/ exists, OR the parent process is
windsurf / Codeium.lovable.dev (web).replit.com (web).bolt.new (web).If you cannot determine the client, ask the user one short question: "Which agent host are you using — Cursor, Claude Code, Codex, Windsurf, Lovable, Replit, or Bolt?"
There are two classes of host:
Write the following JSON into .cursor/mcp.json at the project root. Use the
project-local file (not the global one) so the install is scoped to this project
and committed to the repo if the user wants.
If .cursor/mcp.json does not exist, write this exact file body:
{"mcpServers": {"tracklution": {"url": "https://mcp.tracklution.com/mcp"}}}
If .cursor/mcp.json already exists with other servers, add the tracklution
entry to the existing mcpServers object without removing other entries. Example
of a merged file:
{"mcpServers": {"some-existing-server": { "command": "..." },"tracklution": {"url": "https://mcp.tracklution.com/mcp"}}}
One-click alternative (if the user prefers not to commit .cursor/mcp.json to
git): tell the user to click this deeplink and confirm in Cursor's MCP install
dialog:
cursor://anysphere.cursor-deeplink/mcp/install?name=tracklution&config=eyJ1cmwiOiJodHRwczovL21jcC50cmFja2x1dGlvbi5jb20vbWNwIn0=
Verification step before you move on: tell the user to open Cursor → Settings →
MCP (or click the MCP indicator in the chat composer) and confirm tracklution
is listed and toggled On.
Hand-off line (speak this to the user verbatim, then stop):
"I've added the Tracklution MCP at https://mcp.tracklution.com/mcp to
.cursor/mcp.json. Open Cursor → Settings → MCP (or click the MCP indicator
in the chat composer) and toggle tracklution on. Then say go and I'll
finish the install."
Requirement: Cursor v0.48.0 or newer (for Streamable HTTP transport). If the user has an older Cursor, ask them to update first.
Run this exact command in the user's terminal (you must execute it; do not just print it):
claude mcp add --transport http tracklution https://mcp.tracklution.com/mcp
Important: the flag is --transport http, not --transport streamable-http
(the latter currently fails with "Invalid transport type" in Claude Code).
Verification: run claude mcp list and confirm tracklution appears.
Hand-off line:
"I've registered the Tracklution MCP with Claude Code. Run /mcp in this
session to confirm tracklution is connected. Then say go and I'll finish
the install."
Append the following TOML block to ~/.codex/config.toml (create the file and
parent directory if they don't exist). On Windows the path is
%USERPROFILE%\.codex\config.toml. Do not modify other [mcp_servers.*] blocks
the user may already have.
[mcp_servers.tracklution]url = "https://mcp.tracklution.com/mcp"enabled = true
Known caveat: as of early 2026 Codex CLI has a reported bug initializing some
Streamable HTTP MCP servers. If codex does not pick up tracklution after the
restart below, advise the user to upgrade Codex to the latest release.
Hand-off line:
"I've added the Tracklution MCP to ~/.codex/config.toml. Restart your Codex
CLI session, then say go and I'll finish the install."
Write the following into ~/.codeium/windsurf/mcp_config.json (on Windows:
%USERPROFILE%\.codeium\windsurf\mcp_config.json). Create parent directories if
needed.
If mcp_config.json does not exist, write this exact file body:
{"mcpServers": {"tracklution": {"serverUrl": "https://mcp.tracklution.com/mcp"}}}
Note: Windsurf uses serverUrl (not url like Cursor) as the recommended field
for remote HTTP MCP servers.
If mcp_config.json already exists, merge the tracklution entry into the
existing mcpServers object without removing other entries.
Hand-off line:
"I've added the Tracklution MCP to ~/.codeium/windsurf/mcp_config.json.
Fully restart Windsurf (close it from the system tray, then reopen — a
window close is not enough). Then say go and I'll finish the install."
You cannot install MCP servers in Lovable from inside the agent. Print the following instruction to the user verbatim and stop:
"To finish installing Tracklution, please add our MCP server manually in
Lovable: open Lovable Settings → Integrations → MCP servers → Add custom MCP
server. Use the URL https://mcp.tracklution.com/mcp (no authentication
needed). Then come back and say go.
Custom MCP servers are available on paid Lovable plans. If you're on the free plan, sign up at https://www.tracklution.com/start and follow the on-screen installer instead."
You cannot install MCP servers in Replit Agent from inside the agent. Print verbatim and stop:
"To finish installing Tracklution, please add our MCP server manually in
Replit: go to https://replit.com/integrations → MCP Servers → Add MCP server.
Use the name tracklution and the URL https://mcp.tracklution.com/mcp (no
authentication needed). Click Test & Save. Then come back and say go."
You cannot install MCP servers in Bolt.new from inside the agent. Print verbatim and stop:
"To finish installing Tracklution, please add our MCP server manually in
Bolt: open Bolt → Connectors → Add custom connector. Use the URL
https://mcp.tracklution.com/mcp, transport type HTTP, no authentication
needed. Then come back and say go."
Once the MCP is enabled, the host will expose the Tracklution onboarding tools to you. Use them in this exact order:
scout_website — pass the user's website URL. Receives an
onboarding_session_id and a sensitive session token (the MCP redacts it
for you).
register_and_provision — pass email, website_url, framework,
agent_client, and a fresh UUID-v7 as idempotency_key. Do not pass
a password — the onboarding contract is email-only. Receives a
container and a JWT. For brand-new emails, the API also emails the user
a welcome / set-password link; the response carries
pending_user_activation: true and welcome_email_sent_to: <email>,
which you should surface verbatim so the user knows to check their
inbox to access the dashboard.
framework enum (strict): nextjs for Next.js projects, html for
everything else (React-Vite, Vue, Svelte, plain HTML, etc.). There are
no other accepted values; passing one will fail validation.
agent_client enum (strict): cursor, claude-code, windsurf,
lovable, replit, bolt, cline, other. Codex is NOT in the
enum — Codex agents must pass agent_client: "other". Any unknown host
should fall back to "other".
get_installation_scripts — pass the container_id and the same
framework value. Receives paste-safe code snippets, a webhook URL, and
common_mistakes[].
Apply the snippets to the user's project using your file-edit tools. Follow
the common_mistakes[] guidance verbatim.
verify_and_score — pass the container_id and a fresh
idempotency_key. The first call may return needs_action if no events
have been received yet; wait for the page to load, then retry per the
retry.retry_after_seconds / retry.max_retries_recommended envelope.
create_login_link — pass the container_id and target_page set
to "dashboard". Receives a single-use dashboard login URL. Show this URL
to the user once. Do not write it to disk or echo it back.
Do not declare "installation complete" until verify_and_score returns
verification.events_verified == true AND verification.scoring_complete == true. If it doesn't, surface verification.not_ready_reason to the user
verbatim and keep iterating.
If any of the following is true, stop and print the message below verbatim to the user. Do not improvise an HTTP-direct install path. Do not write your own tracking code.
This agent host can't autonomously install Tracklution. To continue, please
sign up at https://www.tracklution.com/start and follow the on-screen installer.
.cursor/mcp.json, ~/.codex/config.toml, and
~/.codeium/windsurf/mcp_config.json contain only the URL
https://mcp.tracklution.com/mcp for Tracklution — no API keys, no JWTs. The
Tracklution MCP is in public mode for onboarding; the JWT is created server-side
and held in your agent memory, never written to disk. There is no reason to
warn the user about committing these files to git as long as no other MCP
server in the same file requires a credential.
Drop this into Cursor, Claude Code, Codex, Windsurf, Lovable, Replit, or Bolt. The agent reads our install protocol, mounts the Tracklution MCP, and finishes the setup.
Install Tracklution to this siteInstall Tracklution tracking — see https://www.tracklution.com/agent-install/The agent writes this into .cursor/mcp.json:
{
"mcpServers": {
"tracklution": {
"url": "https://mcp.tracklution.com/mcp"
}
}
}Server Side Tracking
Google Ads Server Side Tracking
Facebook Server Side Tracking Connector
TikTok Server Side Tracking
Shopify Server Side Tracking
GA4 Server Side Tracking
LinkedIn Server Side Tracking
Snapchat Server Side Tracking
WooCommerce Server Side Tracking
WordPress Server Side Tracking
Pinterest Conversions API
Microsoft (Bing) Server Side Tracking
Stripe Conversion Tracking


4.8+ Rating on G2 and Trustpilot
Helsinki
Simonkatu 6 A
00100 Helsinki, Finland
New York
307 W 38th St
NY 11105, United States



© Tracklution Oy 2026. All rights reserved.
GTM template with instructions video from Simo Ahava!