feat: attribute SDK acquisition - #739
Open
acedatacloud-dev wants to merge 1 commit into
Open
Conversation
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The SDK repository exposes four distinct developer entry points—the catalog plus Python, TypeScript, and Go—but none provides a measurable API-key acquisition link. A developer can discover and install an SDK, then register, while the existing attribution funnel records that signup as direct traffic.
That makes it impossible to compare SDK languages by downstream activation and payment. Package downloads alone are not users, so the registration path needs stable campaign labels before download growth can inform investment.
What changed
Get an API keyCTA near the top of each canonical README;sdk-catalogsdk-pythonsdk-typescriptsdk-goutm_source=github&utm_medium=repoconsistently;The ordinary AceDataCloud product links remain untagged. Only the high-intent API-key CTA is attributed, preserving the distinction between product browsing and acquisition.
Validation
python3.12 scripts/check_acquisition_links.py— 4 canonical campaigns matchedpython3.12 -m py_compile scripts/check_acquisition_links.py— passedgit diff --check— cleanA local
test_language_parity.pyattempt could not collect because the current Python environment did not have this repository package installed. This PR changes no runtime code; the normal CI matrix installs each SDK and remains authoritative for language/runtime tests.Scope boundaries
This PR does not change SDK behavior, generated providers, package metadata, authentication, pricing, or referral ownership. It adds no
inviter_id. It also does not claim that README clicks or package downloads are users; the existing server-side cohort determines signup, usage, and payment outcomes.Rollback
Revert this commit to remove the four CTA markers and CI checker. No application deployment or database migration is involved.
🤖 Generated with Claude Code