Skip to content

Add UTM parameters to 51degrees.com links#95

Merged
jwrosewell merged 2 commits into
mainfrom
chore/utm-links
Jun 13, 2026
Merged

Add UTM parameters to 51degrees.com links#95
jwrosewell merged 2 commits into
mainfrom
chore/utm-links

Conversation

@jwrosewell

Copy link
Copy Markdown
Contributor

Summary

Every navigational 51degrees.com and configure.51degrees.com link in this repository now carries the standard UTM query string so the Content Team can trace Matomo campaign traffic to the exact repository, file, and location it came from:

?utm_source=<github|code|nuget|npm|maven|packagist>&utm_medium=<readme|docs|example|comment|package>&utm_campaign=<repository>&utm_content=<file slug>&utm_term=<location in file>

30 links across 15 files, in-place URL replacements only. While tagging, http, www, and protocol-relative variants were normalised to https on the bare domain, pre-2026 utm schemes were replaced, and the retired Logo.ashx banner URL was replaced with img/logo.png where present. Functional endpoints (cloud, distributor, devices-v4, bulkdata), test fixtures, license headers, and generated files are untouched.

Lint

A second commit adds the utm-link-lint workflow, which runs the shared script from 51Degrees/common-ci on pull requests and pushes to main, keeping the convention enforced from now on. The lint check on this PR stays red until 51Degrees/common-ci#207 merges, since the workflow fetches the script from that repository's main.

The full convention is documented in UTM-LINK-TAGGING.md in 51Degrees/internal-common-ci (PR 3).

Apply the standard vocabulary so the Content Team can trace traffic
to its exact source: utm_source (github|code|nuget|npm|maven|packagist),
utm_medium (readme|docs|example|comment|package), utm_campaign = repo
name, utm_content = file path slug, utm_term = location within the
file (nearest heading, enclosing member, or resource key). Normalise
http, www and protocol-relative variants to https://51degrees.com in
the process.
Run the shared utm-lint script from common-ci on pull requests and
pushes to main, enforcing the UTM tagging convention on every
51degrees.com link (five parameters in order, closed vocabulary,
campaign equal to the repository name, https on the bare domain, and
no parameters on functional hosts).
@jwrosewell jwrosewell merged commit ab51ce2 into main Jun 13, 2026
1 check passed
@jwrosewell jwrosewell deleted the chore/utm-links branch June 13, 2026 07:47
Jamesr51d added a commit that referenced this pull request Jun 16, 2026
Bring the merged dd-cleanup + dotnet-parity branch up to date with main
(env-var alignment #92, web styling #97, UTM links #95). 5 conflicts:

- DataFileHelper.java: union - kept PR#96 findAvailableDataFile + LITE/ASN
  constants AND main's IPI_PATH_ENV_VAR (used by getDataFileLocation).
- KeyHelper.java: took main (re-adds getOrSetSuperResourceKey + env-var
  alignment). NOTE: this reverses the earlier "drop SuperResourceKey" since
  main now owns it (still unused, but main's code).
- HtmlContentHelper.java: restored main's version. NOTE: reverses PR#96's
  deletion - the merged web examples (GettingStartedWebOnPrem, WebMixed)
  reference it again after the main merge.
- GettingStartedOnPrem.java: hybrid - kept "lookup" wording, took main's
  UTM-tagged property-dictionary URL (UTM lint workflow on main).
- 51Degrees-CloudMixed.xml: kept PR#96's repurposed mixed-cloud config.

Validated: no markers, mvn test-compile passes.
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.

1 participant