Use UTM parameters to track your Brevo email traffic

UTM tracking helps you understand where your website visitors come from and how your Brevo emails contribute to your website traffic and conversions. It works by adding UTM parameters to the links in your emails. For example, UTM tracking can turn a link such as https://example.com/product into the following URL with UTM parameters: https://example.com/product?utm_source=brevo&utm_medium=email&utm_campaign=summer_sale. Your analytics tool, such as Google Analytics, then reads these parameters to identify where each visit came from.

Good to know

  • You need an analytics tool, such as Google Analytics, with tracking code installed on your website to see the traffic generated by your UTM parameters. To learn how to set up Google Analytics, check Google's documentation.
  • To add UTM tracking to your push notifications, check our dedicated article Configure your pressure settings and UTM parameters.
  • To set UTM values when you create or update a campaign through the API, check the dedicated section in this article.

Which UTM parameters are available?

Brevo groups UTM parameters into two types: standard parameters and additional parameters.

Standard UTM parameters

Brevo supports five standard UTM parameters: utm_source, utm_medium, utm_campaign, utm_content, and utm_term. Google Analytics recognizes these parameters automatically. The first three parameters are activated automatically when you activate UTM tracking. utm_content and utm_term are optional and must be activated separately.

Expand the following dropdowns to learn more about each UTM parameter:

utm_source

Identifies the source of your traffic.

  • Default value: brevo
  • Activated by default: Yes
  • Can be deactivated individually: No
  • Can be edited: Yes

You can set a custom value when activating global UTM tracking.

utm_medium

Identifies the marketing channel.

  • Default value: email
  • Activated by default: Yes
  • Can be deactivated individually: No
  • Can be edited: Yes

You can set a custom value when activating global UTM tracking.

utm_campaign

Identifies the campaign, workflow, or template associated with the traffic.

  • Default value: Campaign, workflow, or template name
  • Activated by default: Yes
  • Can be deactivated individually: No
  • Can be edited: Yes

You can change the default value in the global UTM settings. You can also override the value for an individual campaign, template, or automation message.

utm_content (optional)

Identifies specific content or a message variant.

  • Default value: None
  • Activated by default: No
  • Can be activated or deactivated individually: Yes
  • Can be edited: Yes

You need to enter a value before activating this parameter. You can set its default value in the global UTM settings or override it for an individual campaign, automation, or template.

💡 Good to know
In Brevo, the value is set at the message type level, not for individual links within a message. You can therefore use different values to compare different campaigns, templates, or automation messages, but not to distinguish individual links within the same message.
utm_term (optional)

Identifies keywords or other targeting criteria associated with the message.

  • Default value: None
  • Activated by default: No
  • Can be activated or deactivated individually: Yes
  • Can be edited: Yes

You need to enter a value before activating this parameter. You can set its default value in the global UTM settings or override it for an individual campaign, template, or automation message.

💡 Good to know
In Brevo, the value is set at the message type level, not for individual links within a message. You can therefore use different values to compare different campaigns, templates, or automation messages, but not to distinguish individual links within the same message.

Additional UTM parameters

Brevo also supports additional UTM parameters, including utm_id and custom parameters. 

Expand the following dropdowns to learn more about each UTM parameter:

utm_id (optional)

Identifies your campaign, workflow, or template with a dynamic ID value.

  • Default value: Campaign, workflow, or template ID
  • Activated by default: No
  • Can be activated or deactivated individually: Yes
  • Can be edited: Yes

You can change the default value in the global UTM settings or override it for an individual campaign, automation, or template.

Custom UTM parameters (optional)
✅ Plan availability
Custom UTM parameters are only available on Professional and Enterprise plans. You can create 1 custom UTM parameter on Professional and up to 10 on Enterprise. For more information, check our pricing page.

Custom UTM parameters let you create your own parameter with a name and value of your choice. You can use them for tracking needs that aren't covered by the standard parameters.

➡️ To learn more, check our dedicated section in this article.

Activate global UTM tracking

Activate UTM tracking globally to automatically add UTM parameters to links in your campaigns, templates, and automation messages

  1. In Brevo, at the bottom left, click Settings > UTM parameters.
  2. Click Activate UTM tracking.
  3. The following standard parameters are activated automatically:
    • utm_source 
    • utm_medium 
    • utm_campaign 
      utm_activate_global_en-us.png
  4. (Optional) You can change your standard parameters default values with a custom one by clicking the edit icon-pen.png icon. Custom UTM parameters are case sensitive. 
  5. To add optional parameters, activate them and configure their values:
    • utm_content 
    • utm_term 
    • utm_id 
      utm_optional-params_configure_en-us.png
  6. To add a custom UTM parameter, click + Add UTM parameter and configure its name and values. To learn more, check our dedicated section in this article.
    utm_custom-params_configure_en-us copy.png
❗️ Important
Unlike the five standard parameters, utm_id and custom parameters aren't recognized automatically by your analytics tool. Configure them your analytics tool yourself before using them for reporting.

The parameters you activate globally are applied by default to all new campaigns, templates, and automation messages. To apply them to existing message, you need to activate or configure UTM tracking individually at the message level.

Create a custom UTM parameter

Custom UTM parameters let you track additional information that isn't covered by Brevo's standard UTM parameters. For example, you could create a marketing_initiative parameter to add an additional tracking dimension to your email links.

To create a custom UTM parameter:

  1. In Brevo, at the bottom left, click Settings > UTM parameters.
  2. Click + Add UTM parameter.
    utm_custom-params_configure2_en-us.png
  3. Enter a Parameter name. This name is added to the end of your links.
  4. Configure a Campaign value, Workflow value, and Template value as needed. For each one, choose a static value, a dynamic value, or enter your own custom value. Leave a field blank if you don't want to use the parameter for that type of message.
  5. Click Save.
    utm_custom-param_en-us.png

Activate, override, or deactivate UTM tracking individually

By default, when UTM tracking is activated globally, it is automatically applied to all new campaigns, templates, and automation messages using your global UTM settings. If you don't need to make any changes for a specific message, no additional action is required.

If you need to make changes for a specific campaign, template, or automation message, you can do so individually. At the message level, you can:

  • Activate UTM tracking for that message
  • Deactivate UTM tracking for that message.
  • Deactivate one or more optional UTM parameters for that message.
  • Change the value of an editable UTM parameter for that message.
❗️ Important
You can't activate a UTM parameter for a specific message if it hasn't been activated in the global settings first. Optional parameters that aren't activated globally don't appear in the message-level UTM settings.

Use the following tabs to view instructions for the type of email you're working with:

Email campaignsEmail templatesAutomations
  1. Create or edit an email campaign.
  2. From its settings, click Edit settings next to the Additional settings section.

    utm_individual-campaign_advanced-settings_en-us.png
  3. Under the Activate UTM tracking option, make the necessary changes. Changes apply only to this specific campaign.

    utm_individual-campaign_change_en-us.png
  4. Click Save.
❗️ Important
We highly recommend testing your email campaigns to ensure all links are working correctly with UTM parameters. To learn more, check our dedicated article Preview and test your email.

Use UTM parameters with the Brevo API

You can set UTM tracking when you create or update an email campaign through the Brevo API. Campaigns created this way can be edited in Brevo like any other email campaign.

When you create or update a campaign through the API, Brevo uses your global UTM settings as the default values. If your request includes its own UTM values, they override the global settings for that campaign.

You can set the following values:

  • utmCampaign: customizes the utm_campaign value. If you leave it empty, Brevo uses the campaign name. Only alphanumeric characters and spaces are allowed.
  • utmContent: customizes the utm_content value.
  • utmTerm: customizes the utm_term value.
  • The UTM source, UTM medium, and UTM ID.

The endpoints that retrieve email campaigns return the UTM values used for each campaign. To learn more about each endpoint, check the Brevo API reference:

View your UTM data in Google Analytics

After your campaigns, templates, or automation messages are delivered, you can use Google Analytics to monitor traffic generated by your Brevo messages.

  1. Log in to Google Analytics.
  2. Go to Reports > Acquisition > Traffic Acquisition.
    ga_traffic-acquisition_path_en-us.png
  3. Click the Session default channel group dropdown and select the dimension you want to use:
    • For utm_source, select Session source and look for brevo or the custom value you set when activating global UTM tracking. Custom UTM parameters are case sensitive. 
    • For utm_medium, select Session medium and look for email or the custom value you set when activating global UTM tracking. Custom UTM parameters are case sensitive. 
    • For utm_campaign, select Session campaign and search for the name of your campaign, template, or automation message.
    • For utm_id or a custom UTM parameter, select the corresponding custom dimension you configured in Google Analytics and search for its value.
      ga_dimensions_en-us.gif
  4. (Optional) To select several dimensions, click + > Traffic source and select the additional dimensions you want to use.

Understand why metrics differ between Brevo and Google Analytics

Brevo and Google Analytics measure activity at different points in the user journey, so their numbers won't always match exactly:

  • Brevo records when a user clicks a link in your email.
  • Google Analytics records when a page loads and the tracking code executes.

What factors contribute to these differences?

  • Browser tracking prevention
    Some browsers, such as Safari and Firefox, or ad blockers can block Google Analytics tracking. Users can still visit your website and be counted by Brevo.
  • Cookie consent
    Visitors who decline tracking consent in Google Analytics won't appear in Google Analytics, even if they clicked your email.
  • Page load failures
    If a visitor closes the page before it fully loads, Brevo counts the click, but Google Analytics may not record a session.
  • Missing tracking code
    If your landing page doesn't have Google Analytics installed, or JavaScript is disabled, the visit won't be tracked.
  • Links without UTM parameters
    Traffic from links without UTM parameters won't be attributed to your Brevo message in Google Analytics.

How to compare metrics accurately

To get more meaningful comparisons between Brevo and Google Analytics:

  • Compare similar metrics
    Compare Brevo's unique clicks with Google Analytics sessions rather than comparing total clicks with page views.
  • Exclude certain activity
    Consider excluding Apple Mail Privacy Protection (MPP) and bot activity from Brevo statistics. To learn more, check our dedicated article About Apple Mail Privacy Protection (MPP) and bot activity in Brevo.
  • Focus on trends, not exact numbers
    Look at overall patterns over time rather than expecting the two platforms to report exactly the same numbers.

Troubleshooting issues with UTM parameters

If you're experiencing issues with UTM parameters, review the following troubleshooting tips before contacting our support team.

Select the issue that best matches your situation:

Links break after activating UTM tracking

When you click a link in a campaign, template, or automation message after activating UTM tracking, you may experience redirection failures or see one of the following errors:

  • Page Not Found (404)
  • Server Error (500 or other 5XX error)
  • Blank page

Common causes and solutions

First, confirm whether the issue comes from the UTM parameters or from the original URL or host.

  1. Copy the URL from the campaign, template, or automation message.
  2. Remove everything after the ? from the URL.
  3. Test both versions in a browser.

If both versions fail, the issue is likely related to your original URL or host rather than the UTM parameters. Check that your original URL works correctly.

If only the UTM version fails, your website or server may not properly handle additional information in URLs. Try the following solutions:

Make your URLs compatible with UTM parameters

Solution: Contact your web developer or hosting provider and ask them to ensure that your URLs can handle query strings and are compatible with UTM parameters.

Deactivate UTM tracking

Solution: If UTM tracking isn't required, deactivate it. This prevents UTM parameters from being added to your URLs.

UTM parameters don't work with dynamic URLs

If your links are dynamically generated (e.g., personalized landing pages, form pre-fill URLs, or CMS-generated links), UTM parameters may not work as expected.

You may experience issues such as:

  • UTM parameters don't appear in Google Analytics or other analytics platforms.
  • Links lead to broken or unresponsive pages.
  • UTM values, such as utm_source=brevo, incorrectly appear in visible form fields.
  • URLs contain malformed query strings, with multiple ? symbols or misplaced & characters.
  • Only the base URL loads without the UTM parameters.

Common causes and solutions

Your dynamic URLs already contain query parameters

Dynamic URLs often already contain query parameters, such as ?user_id=123. When Brevo adds UTM parameters, conflicts can occur if:

  • The URL already contains a query string and the additional parameters aren't appended correctly.
  • The system generating the dynamic URL doesn't properly handle additional parameters.
  • Form pre-fill scripts interpret UTM parameters as form values.

Solution: Contact your web developer and ask them to ensure that your link generation logic handles UTM parameters correctly:

  • If the base URL already contains a query string, append UTM parameters using &.
  • If the base URL doesn't contain a query string, append UTM parameters using ?.

UTM values differ from what you expect

You may see a UTM source, medium, or other value in your links or analytics tool that is different from the one you configured. Your traffic may also appear under two different values for the same message.

Common causes and solutions

Expand the following accordions to learn more about each cause:

A campaign created or updated through the API uses its own values

When an API request includes UTM values, they override your global UTM settings for that campaign.

Solution: Check the UTM settings of the campaign in Brevo:

  1. Go to Marketing > Campaigns and open the campaign.
  2. From its settings, click Edit settings next to the Additional settings section.
  3. Under the Activate UTM tracking option, review the values and make the necessary changes.
  4. Click Save.

If you manage the campaign through the API, update the UTM values in your request.

The global UTM settings changed after the message was created

Campaigns, templates, and automation messages that already exist may keep the values they had when you created them.

Solution: Go to Settings > UTM parameters to review your global values. Then change the values individually for the messages that need them.

The capitalization is different

Brevo keeps the capitalization you enter for custom UTM parameter names, such as UTM_Source or utm_Campaign. It no longer converts them to lowercase. Analytics tools may report names or values that differ only by capitalization as separate entries.

Solution: Use the same capitalization in your global settings, individual messages, and API requests.

Your analytics tool shows both the previous and the new value

If you change the UTM source or medium, traffic from earlier messages stays under the previous value in your analytics tool. Traffic from new messages appears under the new value.

Solution: Include both values when you compare periods, or group them in a single report in your analytics tool.

🤔 Have a question?

If you have a question, feel free to contact our support team by creating a ticket from your account. If you don't have an account yet, you can contact us here.

If you’re looking for help with a project using Brevo, we can match you with the right certified Brevo Agency partner.

💬 Was this article helpful?

140 out of 190 found this helpful