Skip to content

feat(analytics): add UTMs to docs signup links (GRO-86)#924

Open
teallarson wants to merge 3 commits intomainfrom
teal/gro-86-add-utms-to-docs
Open

feat(analytics): add UTMs to docs signup links (GRO-86)#924
teallarson wants to merge 3 commits intomainfrom
teal/gro-86-add-utms-to-docs

Conversation

@teallarson
Copy link
Copy Markdown
Contributor

@teallarson teallarson commented Apr 17, 2026

Linear: GRO-86

Summary

  • SignupLink now appends UTMs when routing to app.arcade.dev/register
  • All docs campaigns prefixed with docs- so utm_campaign startsWith "docs" catches everything
  • Default: utm_source=docs, utm_campaign=docs (no medium)
  • Navbar: adds utm_medium=navbar
  • QuickStarts: utm_campaign=docs-quickstart-<slug> (call-tool-agent / call-tool-client / mcp-server)

Test plan

  • Navbar Sign Up href ends in ?utm_source=docs&utm_campaign=docs&utm_medium=navbar
  • /en/get-started/quickstarts/call-tool-agent SignupLink href includes utm_campaign=docs-quickstart-call-tool-agent
  • /en/get-started/quickstarts/call-tool-client SignupLink href includes utm_campaign=docs-quickstart-call-tool-client
  • /en/get-started/quickstarts/mcp-server-quickstart SignupLink href includes utm_campaign=docs-quickstart-mcp-server
  • A non-QuickStart docs page SignupLink href is ?utm_source=docs&utm_campaign=docs
  • In PostHog, utm_campaign startsWith "docs" on app.arcade.dev/register pageviews returns expected traffic

🤖 Generated with Claude Code


Note

Low Risk
Small, additive change limited to link URL construction and a few doc pages; main risk is incorrect query param formatting or unexpected URL encoding.

Overview
Docs SignupLink now builds the /register URL with UTM query params (utm_source=docs, default utm_campaign=docs, optional utm_medium) while keeping the existing PostHog click event.

Selected signup links in docs are updated to pass more specific attribution: the navbar adds utm_medium=navbar, and the three QuickStart guides set utm_campaign to docs-quickstart-* (plus an inline signup link in the MCP server quickstart).

Reviewed by Cursor Bugbot for commit b170d91. Bugbot is set up for automated code reviews on this repo. Configure here.

So Growth can attribute new Arcade account creations back to docs —
per-page campaigns for the three QuickStarts, generic `docs` elsewhere.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel bot commented Apr 17, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview, Comment Apr 17, 2026 5:28pm

Request Review

teallarson and others added 2 commits April 17, 2026 13:24
…hes all

- Default utm_campaign=docs (generic docs pages)
- QuickStarts use utm_campaign=docs-quickstart-<slug>
- Drop default utm_medium (most SignupLinks are inline prose, not CTAs)
- Navbar uses utm_medium=navbar (matches marketing site convention)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Comment thread app/_components/analytics.tsx
@teallarson teallarson marked this pull request as ready for review April 17, 2026 17:58
Copy link
Copy Markdown
Contributor

@sdserranog sdserranog left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@vfanelle
Copy link
Copy Markdown
Contributor

@teallarson This is great so we can figure out how many activated signups are coming from our old QuickStart activation path (arcade.dev > docs tools catalog > QuickStarts) and compare that to our new activation path via Gateways in Dashboard. I want to eventually answer if Dashboard or the CLI is a better place to activate users.

Q before I sign off: Do the UTM params survive the full signup flow so Posthog associates these UTMS with a completed sign up? If there's an OAuth redirect or intermediate step that drops the query params, we'd lose the attribution (this has happened with past utms)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants