Geolocation is the process of estimating a contact's location based on their digital activity. Brevo uses geolocation to automatically detect where your contacts are located and store this information in their attributes, so you can use it to create segments and trigger automations.
Good to know
Geolocation is deactivated by default. You need to activate it before Brevo starts storing location data in contact attributes.
How geolocation works
Brevo determines a contact's location from their most recent qualifying engagement event, using one of two methods depending on your setup:
Brevo can estimate the location from the contact's IP address when they open or click a link in one of your marketing or transactional emails.
While IP-based detection is widely used, it has limitations. Several factors can affect the tracking or accuracy of location data:
IP-based detection from email opens applies only to contacts who have explicitly opted in to pixel tracking, meaning their email_tracking_pixels attribute must be set to Yes.
If a contact has not consented, their email opens and clicks will not be used to detect their location.
➡️ To learn more, check our dedicated article About email tracking pixels and the CNIL recommendation in Brevo.
If anonymous email tracking is enabled on your account, IP addresses are not collected from email opens, which means IP-based geolocation detection is unavailable for the affected emails. This applies to both marketing and transactional emails, depending on your anonymization settings.
➡️ To learn more, check our dedicated article Can I anonymize the tracking of opens and clicks for my emails?.
Some webmail providers, such as Gmail and Yahoo Mail, load the images in an email, including the tracking pixel, through their own proxy servers before the contact opens it. When this happens, the request comes from the provider's servers instead of the contact's device, so the detected location reflects the provider's server, not the contact's. Brevo excludes these opens from location detection.
This affects a large share of email opens. To get more reliable data, Brevo also uses email clicks as a signal for IP-based detection, since clicks are not affected by this limitation.
If a contact browses or opens emails through a VPN or proxy server, their IP address reflects the server's location, not their actual location. Brevo discards signals identified as coming from VPNs or proxy servers.
Apple pre-fetches email content through its own servers, which means email opens from Apple Mail users may reflect Apple's server location rather than the contact's real location. Brevo excludes these opens from location detection.
➡️ To learn more, check our dedicated article About Apple Mail Privacy Protection (MPP) and bot activity in Brevo.
- Dynamic IP addresses: some internet service providers assign a different IP address each session, which can result in inconsistent location data over time.
- IPv6 addresses: some internet service providers assign IPv6 addresses, which may not be recognized by geolocation databases, resulting in no location being detected at all.
Brevo applies a minimum accuracy threshold to IP-based signals. Signals with low accuracy only update the contact's country and time zone, while city, region, and postal code are left blank. Very low-accuracy signals are discarded entirely.
If you have set up Mobile Push, Brevo can use GPS coordinates to detect your contacts' location. This is the most accurate method.
For a contact to be detected via GPS, three conditions must be met:
- The contact has installed your app
- The contact is subscribed to push notifications
- The contact has granted location permission
Once GPS data is available for a contact, IP-based detection is no longer used for that contact.
Where location data is stored
When you activate geolocation, Brevo automatically creates seven contact attributes:
- Six read-only attributes, automatically detected and updated based on your contacts' engagement: five to store location data (country, city, postal code, region, time zone) and one to store the date the location was last detected. These are labeled Detected by Brevo on the Contact attributes page.
- One editable attribute, COUNTRY, that you or your contacts can fill in manually.
On each contact's details page, these attributes are empty until a qualifying event is triggered. Once a contact's location is detected, their attributes are populated:
Activate geolocation
By default, geolocation is deactivated. You need to activate it before Brevo starts storing detected location data in contact attributes. Only contacts who trigger a qualifying engagement event after activation will have their location stored. Existing contacts will not be updated retroactively.
- In Brevo, click the account dropdown and go to Settings > Contacts > Last detected location.
- Click Store location in records.
Deactivate geolocation
You can deactivate geolocation at any time, so that Brevo stops collecting new location data.
- In Brevo, click the account dropdown and go to Settings > Contacts > Last detected location.
- Click Stop updating location in records.
| To indicate that the data may be outdated, a warning icon ⚠️ will appear next to the contact attributes on each contact's details page. |
Use location data in Brevo
Once geolocation is activated and your contacts' location data is populated, you can use it in several ways:
- Segment by last detected location
- Target or exclude contacts from your campaigns
- Trigger or filter automations
Segment by last detected location
Filter your contacts by their last detected location (country, city, region, postal code, or time zone) to build targeted segments. You can also combine location filters with other conditions, such as email engagement or purchase history, to refine your audience further.
➡️ To learn more, check our dedicated articles:
Target or exclude contacts from your campaigns
Use location-based segments to send campaigns to contacts in a specific area, or exclude contacts from regions where your offer is not available.
➡️ To learn more, check our dedicated section in the article Create and send an email campaign.
Trigger or filter automations
Use location-based segments in your automation workflows in several ways:
- Trigger: start a workflow when a contact matches a location-based segment, such as sending a local event invitation to contacts in a specific city.
- Conditional split: branch your workflow based on a contact's location to send different messages to different regions.
⏭️ What's next?
- About contact attributes
- Create a segment to filter your contacts
- Create and send an email campaign
- Use a trigger to start an automation
🤔 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.