Skip to content

chore: tag e2b.dev links with UTM parameters - #330

Open
michael-e2b wants to merge 3 commits into
mainfrom
michael/utm-owned-links
Open

chore: tag e2b.dev links with UTM parameters#330
michael-e2b wants to merge 3 commits into
mainfrom
michael/utm-owned-links

Conversation

@michael-e2b

Copy link
Copy Markdown

READMEs follow the org's existing utm_campaign=readme convention. The package homepage fields get utm_source=pypi/npm so installs coming from registry pages attribute to their real source — that part takes effect on the next publish.

🤖 Generated with Claude Code

READMEs follow the org's existing utm_campaign=readme convention; package
homepage fields use utm_source=pypi/npm so installs from registry pages
attribute to their real source (takes effect on next publish).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a0ae39ea26

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread js/package.json
"packageManager": "pnpm@10.34.5",
"description": "E2B Code Interpreter - Stateful code execution",
"homepage": "https://e2b.dev",
"homepage": "https://e2b.dev/?utm_source=npm&utm_medium=referral&utm_campaign=package_homepage&utm_content=e2b-code-interpreter",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Tag links in the package READMEs

When users follow the E2B, signup, API-key, or documentation links rendered on npm or PyPI, those registries use js/README.md (included by js/package.json) and python/README.md (selected by readme = "README.md"), not the root README changed here. Both package READMEs still contain untagged links, so only clicks on the registry Homepage field and GitHub's root README gain attribution; update the package-specific README links with the appropriate npm/PyPI source parameters as well.

Useful? React with 👍 / 👎.

@linear-code

linear-code Bot commented Aug 19, 2026

Copy link
Copy Markdown

GRO-12

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

LGTM — this is a low-risk documentation/config change (UTM parameters on e2b.dev links and package homepage fields), no functional code paths affected.

Extended reasoning...

Overview

This PR touches three files: the root README.md, js/package.json, and python/pyproject.toml. It appends UTM query parameters (utm_source, utm_medium, utm_campaign, utm_content) to existing e2b.dev links for marketing attribution purposes. No code logic, build config, or dependency versions are changed.

Security risks

None. UTM parameters are purely additive query string tracking params on outbound links to the project's own domain (e2b.dev). There is no injection, auth, or data-exposure surface here — these are static string edits to documentation and metadata fields.

Level of scrutiny

This warrants light scrutiny. It's a marketing/attribution chore with zero impact on runtime behavior, SDK functionality, or the build/publish pipeline (the homepage field is metadata only). The one finding from the bug hunt — that js/README.md and python/README.md (the READMEs actually rendered on the npm/PyPI package pages) were left untagged despite being the exact channels this PR's homepage changes target — is a completeness nit, not a correctness bug, and is already captured as an inline comment.

Other factors

No prior reviews exist on this PR. The change is self-contained, mechanical, and the linked URLs/parameters are correctly formed (valid query string syntax, no broken links). The nit doesn't block merge — the PR's core goal (tagging homepage/README links) is achieved for the files it touched.

Comment thread README.md
--->
## What is E2B?
[E2B](https://www.e2b.dev/) is an open-source infrastructure that allows you to run AI-generated code in secure isolated sandboxes in the cloud. To start and control sandboxes, use our [JavaScript SDK](https://www.npmjs.com/package/@e2b/code-interpreter) or [Python SDK](https://pypi.org/project/e2b_code_interpreter).
[E2B](https://e2b.dev/?utm_source=github&utm_medium=referral&utm_campaign=readme&utm_content=code-interpreter) is an open-source infrastructure that allows you to run AI-generated code in secure isolated sandboxes in the cloud. To start and control sandboxes, use our [JavaScript SDK](https://www.npmjs.com/package/@e2b/code-interpreter) or [Python SDK](https://pypi.org/project/e2b_code_interpreter).

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 The root README.md's e2b.dev links were tagged with UTM params, but js/README.md and python/README.md contain the identical set of e2b.dev links (sign-up, API key, docs) and were left untagged. These are the exact READMEs rendered on the npm and PyPI package pages (via js/package.json's files and python/pyproject.toml's readme), which is precisely where this PR's new homepage UTM tagging (utm_source=npm/pypi) is meant to drive attributed traffic from — so the click-throughs on those same pages still go unattributed.

Extended reasoning...

The bug: This PR adds UTM parameters to the e2b.dev links in the root README.md, and separately adds utm_source=npm/utm_source=pypi to the homepage field in js/package.json and python/pyproject.toml. However, js/README.md and python/README.md contain the same e2b.dev links (the "What is E2B?" link, the sign-up link, the API-key dashboard link, and the docs link) and none of them were updated with UTM parameters.

Why this matters for this specific PR: These two READMEs aren't just incidental duplicates — they are literally the content rendered on the package registry pages that the PR's own homepage-field changes target. js/package.json ships README.md via its files array (["dist", "README.md", "package.json"]), so js/README.md is what npm renders on the package's page. python/pyproject.toml sets readme = "README.md", so python/README.md is what PyPI renders on its project page. The PR's stated goal is "installs coming from registry pages attribute to their real source" — but a visitor who lands on the npm or PyPI page, reads the README there, and clicks "Sign up to E2B" or "Get your API key" will follow an untagged link. Only the homepage link itself (in the sidebar) is tagged; the actual body content isn't.

Why existing code doesn't already handle this: The PR clearly established the convention (utm_source=github&utm_medium=referral&utm_campaign=readme&utm_content=code-interpreter) for README links and applied it consistently to the root README, but the two package READMEs were apparently overlooked — likely because the diff only touched three files and the author didn't realize js/README.md/python/README.md are separate files from the root README (they are, in fact, near-identical copies used per-package).

Proof / concrete example:

  1. A developer searches for e2b-code-interpreter on PyPI.
  2. PyPI renders python/README.md as the project description.
  3. The developer clicks "Sign up to E2B here" in that rendered README.
  4. That link has zero UTM parameters, so the click is not attributed to the PyPI README channel — even though the PR just added utm_source=pypi to the homepage field specifically to capture PyPI-driven traffic.
  5. The same sequence applies on npm using js/README.md.

Fix: Apply the same utm_source=github&utm_medium=referral&utm_campaign=readme&utm_content=code-interpreter-style tagging (or a utm_source=npm/utm_source=pypi variant, matching the per-registry granularity used in the homepage fields) to the equivalent e2b.dev links in js/README.md and python/README.md.

Severity: this is a documentation/attribution completeness gap, not a functional bug — nothing breaks if left as-is, it just leaves part of the PR's own stated goal (accurate attribution from npm/PyPI) unrealized. Marking as nit.

Review follow-up: js/README.md and python/README.md are what the
registries render, so their links carry utm_source=npm/pypi to match the
homepage fields.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@michael-e2b

Copy link
Copy Markdown
Author

Good catch — those two files are indeed what npm and PyPI render. Tagged all four e2b.dev links in each, with utm_source=npm / utm_source=pypi to match the per-registry granularity of the homepage fields.

@mishushakov

Copy link
Copy Markdown
Member

add changeset also pls

@michael-e2b

Copy link
Copy Markdown
Author

add changeset also pls

Will do!

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@michael-e2b

Copy link
Copy Markdown
Author

Changeset added — patch bump for @e2b/code-interpreter, which also gets the tagged homepage field onto the npm page with the release.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants