Track the performance of your Brevo email campaigns and templates in Google Analytics by automatically adding UTM parameters to the links in your emails. This allows you to see which emails drive traffic to your website and measure their impact in Google Analytics alongside your other marketing channels.
Before you start
You need a Google Analytics account with tracking code installed on your website. To learn how to set it up, check Google's documentation.
About Google Analytics tracking in Brevo
This feature automatically adds UTM tracking parameters to all links in your email campaigns and templates, allowing Google Analytics to attribute website traffic and conversions to your Brevo emails.
When activated, Brevo adds the following UTM parameters to every link in your campaigns and templates:
- utm_source: brevo (identifies traffic as coming from Brevo)
- utm_medium: email (identifies the channel as email)
- utm_campaign: [your campaign name] (identifies the specific campaign)
- utm_id: [campaign ID] (Brevo's internal campaign identifier)
These parameters are appended to your URLs when a recipient clicks. For example:
-
Original link:
https://example.com/product -
Link after click:
https://example.com/product?utm_source=brevo&utm_medium=email&utm_campaign=summer_sale&utm_id=123
Set up Google Analytics tracking in Brevo
When setting up Google Analytics tracking in Brevo, you have two options:
- Automatically activate it for all email campaigns and templates, or
- Apply it to individual email campaigns and templates
Option 1: Activate for all campaigns and templates
To automatically add Google Analytics tracking to all your email campaigns and templates:
- In Brevo, click the account dropdown and select Settings > Campaigns.
- Under Google Analytics, click Configure.
- Activate the Activate Google Analytics tracking option. This sends the utm_source, utm_medium, and utm_campaign parameters to Google Analytics.
- (Optional) Activate the UTM_ID: ID_OF_YOUR_CAMPAIGN option. This sends the utm_id parameter to Google Analytics.
- Click Save.
The links in all your email campaigns and templates will now automatically include UTM parameters and will be tracked in Google Analytics.
Option 2: Activate for individual campaigns or templates
To add tracking to a specific campaign or template only:
- Create or edit an email campaign or template.
- From its settings, access the Additional settings section at the bottom of the page.
- Activate the Activate Google Analytics tracking option. This sends the utm_source, utm_medium, and utm_campaign parameters to Google Analytics.
-
(Optional)
By default, the value of the utm_campaign parameter is the name of your campaign. To override it, enter a personalized value in the Customize UTM Campaign Value field.
💡 Good to knowThe Customize UTM Campaign Value field is only available for email campaigns, not for templates. -
(Optional) Activate the UTM_ID: ID_OF_YOUR_CAMPAIGN
option.
This sends the utm_id parameter to Google Analytics.
- Click Save.
The links in this email campaign or template will now automatically include UTM parameters and will be tracked in Google Analytics.
View campaign and template data in Google Analytics
After your email campaigns or templates are delivered, you can start monitoring your Google Analytics results to view how many people clicked through from your email campaign to your website:
- Log in to Google Analytics.
-
Go to Reports > Acquisition >
Traffic Acquisition.
-
Click the
Session default channel group dropdown and select the
desired dimension to sort your results:
- For UTM_Source, select Session source and look for "brevo".
- For UTM_Medium, select Session medium and look for "email".
- For UTM_Campaign, select Session campaign and search for the name of your campaign.
-
For UTM_ID, select Session campaign id and
search for the ID of your campaign.
💡 Good to knowTo select several dimensions, click + > Traffic source and select additional dimensions.
Understanding why metrics differ between Brevo and Google Analytics
Brevo and Google Analytics measure at different points in the user journey, so the numbers won't 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 (Safari, Firefox) or ad blockers can block Google Analytics tracking. Users can still visit your site and be counted by Brevo. -
Cookie consent
Visitors who decline tracking consent in Google Analytics won’t appear there, even if they clicked your email. -
Page load failures
If a visitor closes a page before it fully loads, Brevo counts the click, but Google Analytics does not count a session. -
Missing tracking code
If your landing page doesn’t have Google Analytics installed or JavaScript is disabled, visits won’t be tracked. -
Links without UTM parameters
Traffic from links without UTM tags won’t be attributed to your Brevo campaign in Google Analytics.
How to compare metrics accurately?
To get meaningful comparisons between Brevo and Google Analytics:
-
Match unique clicks to sessions
Compare Brevo’s unique clicks with Google Analytics sessions, not total clicks to page views. -
Exclude certain activity
Remove Apple Mail Privacy Protection (MPP) and bot traffic 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 instead of expecting exact matches between the two platforms.
Troubleshooting issues with Google Analytics tracking
If you are experiencing issues with Google Analytics tracking, we recommend you review the following troubleshooting tips before contacting our support team.
Select the issue that best matches your situation:
Links break after activating Google Analytics tracking
When clicking a link in an email campaign or template after activating Google Analytics tracking, you are getting redirection failures or the following errors:
- Page Not Found (404)
- Server Error (500 or other 5XX error)
- Blank page
Common causes and solutions
We recommend that you first confirm whether the issue stems from UTM parameters or from your original URL or host:
- Copy the URL from the campaign or template.
- Remove everything after the
?to test the link. - Test both versions in a browser.
If both versions fail, it likely indicates a problem with your original URL or host, not related to UTMs. We recommend reviewing your URLs to ensure they work correctly.
If only the UTM version fails, it typically means your website or server is not properly handling extra information in URLs. In that case, check the following solutions:
Solution: Contact your web developer or hosting provider (where your URLs are hosted) to ensure that your URLs can handle query strings and are compatible with UTM parameters.
Solution: If tracking isn’t required, you can deactivate Google Analytics tracking. This will prevent these parameters from being added to URLs.
UTM parameters do not 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 function as expected. This can cause tracking issues or broken links, such as:
- UTM parameters don't appear in Google Analytics or other analytics platforms
- Links lead to broken or unresponsive pages
- UTM values (like utm_source=brevo) incorrectly appear in visible form fields
- URLs contain malformed query strings (multiple
?symbols or misplaced&characters) - Only the base URL loads with no UTM parameters
Common causes and solutions
Dynamic URLs often already contain query parameters (e.g., ?user_id=123). When Brevo appends UTM parameters, conflicts can occur if:
- The URL already ends with
?(Brevo adds another?instead of&) - The dynamic system 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 implement the following link generation logic:
- If the base URL already contains
?, UTMs should be appended using& - If the base URL has no query string, UTMs should be appended using
?
🤔 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.