EVERYTHING about UTM tags in Mautic - #712
Conversation
|
Hey @andersonjeccel, Thanks for the PR! I'd like to confirm here. TIA! ✨ cc: @escopecz |
|
@adiati98 Yes, 5 |
|
|
||
| .. vale on | ||
|
|
||
| Mautic can capture UTM parameters when a Contact downloads a managed Asset, a file hosted inside Mautic. However, this behavior differs significantly from UTM capture on Forms, Emails, Dynamic Web Content (DWC) blocks, and Pages. Understanding the distinction prevents tracking gaps and misplaced expectations. |
There was a problem hiding this comment.
@andersonjeccel quick question. Is "Pages" here (and across the files) mean "Landing Pages"? Or just "pages" in general?
There was a problem hiding this comment.
@andersonjeccel can you please confirm here? TIA!
There was a problem hiding this comment.
Yes, Landing pages
Can we ask Promptless to fix?
There was a problem hiding this comment.
So far we can't ask Promptless to fix PR that it didn't create. So, I'll fix them manually. 🙂
|
@andersonjeccel sorry for taking me a while to get to this. There are a couple of things:
Thanks! |
|
@adiati98 yes, thank you so much |
|
Progress: the first backport is up — a 7.1 version of this UTM tags documentation (#921). Working on the 7.2, 6.0, and 5.2 versions next. |
|
Progress: the 7.2 version is now up too (#922). Next up are the 6.0 and 5.2 versions. |
|
Progress: the 6.0 version is up (#923). Just the 5.2 version left. |
|
Done! I've opened backport PRs of this UTM tags documentation for all four requested branches:
Each mirrors the new eight-page UTM Tags section from this PR. On 6.0 and 5.2 the Google Analytics screenshot reference was adjusted to the image filename those branches use ( Heads-up: each PR shows a failing |
Co-authored-by: Sīlavāpi Cheesley <silavapi@silavapi.co.uk>
|
@promptless-for-oss there are some small changes to this PR, please can you cherry pick and sync them over to the other version's PRs? Thanks! |
|
Thanks @RCheesley — will do. I'll pull the small changes from this PR and sync them across the other version PRs for the UTM tags docs, then follow up here with a rundown of what went where. |
|
Found the changes — they're the "Apply suggestions from code review" edits: normalizing example URL hosts to |
There was a problem hiding this comment.
Pull request overview
This PR replaces the previous single-page UTM Tags documentation with a dedicated, more detailed UTM Tags section that explains how Mautic captures, appends, stores, and uses UTM parameters across multiple features.
Changes:
- Added a new
docs/utm_tags/documentation set covering UTM capture, outbound tagging, and targeting (segments/campaign conditions). - Updated documentation navigation and cross-references to point to the new UTM Tags overview.
- Updated Vale vocabulary to accept newly introduced acronyms used in the docs (e.g., CPC, DWC).
Reviewed changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| docs/utm_tags/utm_tags_overview.rst | New central overview of UTM concepts and feature groupings in Mautic. |
| docs/utm_tags/utm_tags_landing_pages.rst | New doc for inbound UTM capture via Landing Page visits/tracking script. |
| docs/utm_tags/utm_tags_asset_downloads.rst | New doc describing Asset download UTM behavior and limitations. |
| docs/utm_tags/utm_tags_forms.rst | New doc for capturing/storing UTMs via the “Record UTM tags” Form action. |
| docs/utm_tags/utm_tags_emails.rst | New doc for outbound UTM stamping on tracked Email links. |
| docs/utm_tags/utm_tags_dynamic_web_content.rst | New doc for outbound UTM stamping in Dynamic Web Content blocks. |
| docs/utm_tags/utm_tags_campaign_conditions.rst | New doc describing how to branch Campaign flow based on Contact UTM fields. |
| docs/utm_tags/utm_tags_segment_filters.rst | New doc describing Segment filtering using Contact UTM fields. |
| docs/index.rst | Moves UTM Tags into a dedicated docs section and adds new toctree entries. |
| docs/components/dynamic_web_content.rst | Updates the UTM docs link target for DWC docs. |
| docs/channels/focus_items.rst | Updates the UTM docs link target for Focus Items docs. |
| docs/channels/utm_tags.rst | Removes the old UTM Tags page (superseded by the new section). |
| .github/styles/config/vocabularies/Mautic/accept.txt | Adds CPC and DWC to accepted terminology for Vale. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| .. note:: | ||
|
|
||
| .. note:: | ||
|
|
||
| Landing Pages have no settings, fields, or toggles for UTM parameters. If asked where to configure UTM tags for a Landing Page, the answer is always in the link that brings visitors to the Landing Page. |
|
|
||
| After saving, the **Record UTM tags** action appears in the Form's action list. When a Contact submits the Form from a UTM-tagged URL, their profile displays a **UTM tags recorded** timeline entry, separate from the Form submission entry, displaying the associated Form ID and captured field values. If UTM fields remain empty after a test submission, the URL used during testing didn't contain UTM parameters. This indicates a website-side link configuration issue rather than a Mautic configuration issue. | ||
|
|
||
| .. TODO: add screenshot - Contact timeline showing a "UTM tags recorded" entry with populated UTM fields and a FORMID reference |
|
|
||
| .. vale off | ||
|
|
||
| UTM - Urchin Tracking Module - are short tags added to URLs that tell analytics tools where traffic comes from, including the specific Campaign, Channel, or source. Mautic supports UTM tags across many features, though each feature handles UTM data differently. Features capture, generate, store, and use UTM data in distinct ways. Confusing how these features handle the data causes gaps in tracking, empty fields, or incorrect expectations. |
| .. vale on | ||
|
|
||
| **UTM tags** - Mautic can append UTM tags to any links and Form submissions. See :doc:`/channels/utm_tags` for more information. | ||
| **UTM tags** - Mautic can append UTM tags to any links and Form submissions. See :doc:`/utm_tags/utm_tags_overview` for more information. |
|
|
||
| .. code-block:: text | ||
|
|
||
| https://your-mautic.com/Asset/your-file?utm_source=newsletter&utm_medium=Email&utm_campaign=spring_sale_2026 |
|
|
||
| .. code-block:: text | ||
|
|
||
| https://yoursite.com/promo?utm_source=newsletter&utm_medium=Email&utm_campaign=spring_sale_2026 |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Sīlavāpi Cheesley <silavapi@silavapi.co.uk>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 13 out of 13 changed files in this pull request and generated no new comments.
Suppressed comments (10)
docs/utm_tags/utm_tags_landing_pages.rst:16
- This section nests a second
.. note::inside another note, which is redundant and can render oddly in Sphinx. Use a single note block.
.. note::
.. note::
Landing Pages have no settings, fields, or toggles for UTM parameters. If asked where to configure UTM tags for a Landing Page, the answer is always in the link that brings visitors to the Landing Page.
docs/utm_tags/utm_tags_forms.rst:43
- The example uses
utm_medium=Email, but later the doc explainsutm_medium=email. UTM values are typically case-sensitive in analytics tooling, so the example should match the recommended lowercase value.
https://example.com/landing-Page?utm_source=newsletter&utm_medium=Email&utm_campaign=spring_sale_2026
docs/utm_tags/utm_tags_forms.rst:61
- Avoid leaving
TODOmarkers in merged docs. If a screenshot isn’t included in this PR, replace with a neutral comment (or remove) and track the screenshot separately.
.. TODO: add screenshot - Contact timeline showing a "UTM tags recorded" entry with populated UTM fields and a FORMID reference
docs/utm_tags/utm_tags_emails.rst:31
- This step refers to an “inside this block”, but the instructions are for an Email. This can confuse readers (blocks apply to DWC, not Emails).
#. Fill in the UTM fields you want to apply to links inside this block:
docs/utm_tags/utm_tags_emails.rst:44
- The example URL uses
utm_medium=Email, but the surrounding text recommendsutm_medium=email. Use the lowercase value for consistency and to avoid case-sensitive analytics mismatches.
https://example.com/promo?utm_source=newsletter&utm_medium=Email&utm_campaign=spring_sale_2026
docs/utm_tags/utm_tags_asset_downloads.rst:21
- The example URL uses
utm_medium=Email, but the description immediately below statesutm_medium=email. Use lowercase in the example for consistency (and to match common analytics expectations).
https://example.com/Asset/your-file?utm_source=newsletter&utm_medium=Email&utm_campaign=spring_sale_2026
docs/utm_tags/utm_tags_segment_filters.rst:40
- Inline literal for
utm_contentis missing a closing double-backtick, which breaks the RST inline-code formatting for this bullet.
* ``utm_content`
docs/utm_tags/utm_tags_forms.rst:19
- Wording issue: “Open the Form and the edit details” is ungrammatical; it should be “edit its details”.
#. Open the Form and the edit details:
docs/utm_tags/utm_tags_emails.rst:23
- Wording issue: “Open the Email and the edit details” is ungrammatical; it should be “edit its details”.
This issue also appears on line 31 of the same file.
#. Open the Email and the edit details:
docs/utm_tags/utm_tags_overview.rst:145
- The API payload keys here use inconsistent casing (
User_agent) and a different spelling than is commonly used for the HTTP header (referer). If the actual endpoint expectsrefereranduser_agent(lowercase), this line will mislead API users; please align with the real request schema.
* ``POST /contacts/{id}/utm/add``: accepts the full UTM payload - all five tags, plus ``url``, ``referrer``, and ``User_agent``
|
@promptless-for-oss please also check this PR against our standards and suggest any improvements. Take into account any comments from Copilot, too. |
|
Sure @RCheesley — I'll review this PR against our documentation standards, work through Copilot's comments, and apply the improvements that make sense. I'll follow up here with a summary of what I changed and how I handled each Copilot point. |
|
Done — I've cherry-picked your small code-review tweaks from this PR across all four version backport PRs: 7.1 (#921), 7.2 (#922), 6.0 (#923), and 5.2 (#924). Each now uses (Your other request — reviewing this PR against our standards and Copilot's comments — is still in progress; I'll follow up separately on that.) |
|
Thanks @RCheesley — I've reviewed this PR against our documentation standards and worked through all of Copilot's comments. Overall it's in good shape: Vale is clean (0 errors; the 2 remaining warnings are proper-noun false positives on headings containing 'Email' and 'Landing Pages'). Two of Copilot's flags are genuine accuracy bugs I confirmed against Mautic's 7.0 source. Here's the full disposition plus a few additional findings. Copilot comments:
Additional findings beyond Copilot:
One heads-up on mechanics: because this PR's branch lives on Anderson's personal fork, Promptless can't push these edits into it directly — the same limitation Ayu hit earlier. So either the author/maintainer applies the list above manually, or I can open a fresh PR against |
Description
This PR adds docs about literally every information found in backend about how UTM tags work in all features.
Covers more than 14 features.
A lot of info that there's nowhere in the internet available, since investigation was done in backend to get a full picture.
Linked issue
Screenshots or screen recordings