> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scanova.io/llms.txt
> Use this file to discover all available pages before exploring further.

# UTM builder

> Add UTM parameters to a Dynamic QR Code's destination so that scans arrive tagged in your analytics tool, and the traffic can be attributed correctly.

## What the UTM builder does

The UTM builder appends standard UTM tracking parameters to a Dynamic QR Code's outbound URL, so a scan shows up correctly attributed in an external analytics tool (like Google Analytics) rather than as an anonymous visit. It's the **Tracking Parameters (UTM)** toggle under **Advanced settings** on any Dynamic Quick Code form (for example, [Website URL](/qr-codes/create/website-url) or [Google Maps](/qr-codes/create/google-maps)), next to **Conditional Redirection**.

<Note>
  UTM builder is only available on **Dynamic** QR Codes with an outbound destination URL — it doesn't apply to Static QR Codes or to categories with no external redirect.
</Note>

## Adding tracking parameters

<Steps>
  <Step title="Turn on Tracking Parameters (UTM)">
    On the QR Code's create (or edit) form, under **Advanced settings**, switch on **Tracking Parameters (UTM)** — "Append UTM tags to outbound URLs for marketing analytics." A **Configure parameters** button appears, along with a warning that nothing happens until at least one parameter is added: "Add at least one parameter, or turn this off — it won't do anything until then."

    <Frame caption="Tracking Parameters (UTM) toggled on, before any parameters are added">
      <img src="https://mintcdn.com/scanova-api/FJpDFpkrq6b7yDgr/images/v2/qr-codes/manage/utm-builder/utm-toggle-on.png?fit=max&auto=format&n=FJpDFpkrq6b7yDgr&q=85&s=429446536c2ad44fe2ec813c51a45353" alt="Advanced settings section showing Conditional Redirection off and Tracking Parameters (UTM)" width="1316" height="904" data-path="images/v2/qr-codes/manage/utm-builder/utm-toggle-on.png" />
    </Frame>
  </Step>

  <Step title="Open Add Tracking Parameters">
    Click **Configure parameters**. The dialog shows a live **URL preview** of the destination URL with a running character count (max 2000), five standard UTM fields — **utm\_campaign**, **utm\_medium**, **utm\_source**, **utm\_term**, **utm\_content** — each with its own hint and example (e.g. `utm_source` — "Identify the source of traffic (e.g. Facebook, LinkedIn, poster\_qr, newsletter)"), and a **Custom parameters** section for anything outside the standard five.

    <Frame caption="The Add Tracking Parameters dialog, empty">
      <img src="https://mintcdn.com/scanova-api/FJpDFpkrq6b7yDgr/images/v2/qr-codes/manage/utm-builder/utm-parameters-modal-empty.png?fit=max&auto=format&n=FJpDFpkrq6b7yDgr&q=85&s=db6fdf94784f55106880a06b0b64e9bf" alt="Add Tracking Parameters dialog showing a URL preview field, five empty UTM fields" width="1316" height="904" data-path="images/v2/qr-codes/manage/utm-builder/utm-parameters-modal-empty.png" />
    </Frame>
  </Step>

  <Step title="Fill in the parameters you need">
    Type into any of the standard fields — the **URL preview** at the top updates live as query parameters, e.g. `?utm_source=poster_qr&utm_medium=print&utm_campaign=summer_sale`. You don't need to fill in all five.

    <Frame caption="Tracking parameters filled in, with the URL preview showing the resulting query string">
      <img src="https://mintcdn.com/scanova-api/FJpDFpkrq6b7yDgr/images/v2/qr-codes/manage/utm-builder/utm-parameters-modal-filled.png?fit=max&auto=format&n=FJpDFpkrq6b7yDgr&q=85&s=b248d0817ac6fab91859a9845bb55cc2" alt="Add Tracking Parameters dialog with utm_campaign set to summer_sale, utm_medium set to print" width="1316" height="904" data-path="images/v2/qr-codes/manage/utm-builder/utm-parameters-modal-filled.png" />
    </Frame>
  </Step>

  <Step title="Add a custom parameter (optional)">
    Click **Add Custom Parameter** to add a **Parameter name** / **Value** pair for anything not covered by the standard five (placeholder example: `ref`). Each custom row has its own delete (trash) icon.

    <Frame caption="A custom parameter row added below the standard UTM fields">
      <img src="https://mintcdn.com/scanova-api/FJpDFpkrq6b7yDgr/images/v2/qr-codes/manage/utm-builder/utm-custom-parameter-row.png?fit=max&auto=format&n=FJpDFpkrq6b7yDgr&q=85&s=57fb87c0bf839d417459e1a1792c43c1" alt="Add Tracking Parameters dialog showing a Custom parameters section with a Parameter name field (placeholder e.g. ref)" width="1316" height="904" data-path="images/v2/qr-codes/manage/utm-builder/utm-custom-parameter-row.png" />
    </Frame>
  </Step>

  <Step title="Save">
    Click **Save**. The **Configure parameters** button is replaced with **Edit parameters (N)**, where N is the number of parameters set, and the QR Code's preview panel gains a **UTM** badge alongside its Dynamic/category badges.

    <Frame caption="UTM configured with 3 parameters — the button label updates and a UTM badge appears on the preview">
      <img src="https://mintcdn.com/scanova-api/FJpDFpkrq6b7yDgr/images/v2/qr-codes/manage/utm-builder/utm-configured-badge.png?fit=max&auto=format&n=FJpDFpkrq6b7yDgr&q=85&s=81d85dd3bd0beda35d50c4e77e93e428" alt="Advanced settings showing Tracking Parameters (UTM) on with an Edit parameters (3) button" width="1316" height="904" data-path="images/v2/qr-codes/manage/utm-builder/utm-configured-badge.png" />
    </Frame>
  </Step>
</Steps>

Use **Reset Parameters** in the dialog to clear every field at once, or **Cancel** to discard unsaved changes.

## Related

* [Website URL QR Code](/qr-codes/create/website-url) — the most common place to attach UTM parameters, alongside Conditional Redirection
* [Conditional redirection](/qr-codes/manage/conditional-redirection) — the other Advanced setting in the same section, routing by who's scanning rather than tagging the destination
* [Exporting QR Code data](/qr-codes/manage/export) — pull scan data to cross-reference against what your analytics tool attributes from these UTM tags
