When syncing or creating a new profile, Klaviyo determines a the Location and Timezone information based on the profile's billing address. If a profile hasn't purchased, location and timezone are determined based on IP geolocation. Below is an example of how Location and Timezone are displayed on a profile page in Klaviyo.
A profile's location and timezone information is used when sending campaign emails based on recipient's timezones, creating location based segments, or adding location/timezone specific filters to flows.
For example, here is an outline of how a profile's Location and Timezone information are set and updated:
- A profile's first Opened Email event (but has never purchased): Klaviyo uses IP to update Timezone and Location.
- A profile makes his/her first purchase: Klaviyo uses the Billing Address from the purchase event data to update Location & Timezone.
- A profile opens an email any time after making a purchase: Neither timezone or location update.
- A profile's repeat purchase events: Klaviyo uses the Billing Address from the purchase event data to update Location & Timezone.
Klaviyo uses IP Geolocation to set a profile's location when a billing address has not been received. When someone clicks through a Klaviyo email, subscribes via a Klaviyo signup form, or are otherwise captured by our web tracking snippet, we will identify the person and use the IP they are on to set his/her location.
Although IP geolocation is used as the industry standard, it can sometimes be inaccurate. Here are a few reasons you might see discrepancies between a profile's IP geolocation and where they actually are located:
- We check someone's IP whenever they open an email or are captured by our web tracking snippet. For example, if someone is on a trip in China when they open the email, their IP will reflect this, even if their typical location is in California.
- IPs are not static, and the location affiliated with an IP is thus also not static; this makes IP geolocation imperfect.
The above note is most relevant when you may want to schedule a campaign that sends to each recipient at, say, 2PM in his/her own timezone. Depending on where a recipient was the last time he/she opened an email or opted-in via a signup form, it's possible that the timezone Klaviyo has recorded for a recipient at send time will not be the same timezone the recipient is in when he/she receives your next campaign.
Additional situations where we won't be able to get accurate IP data from email open events:
- If the email open event, when tracked, goes through a proxy; this is true of emails opened in Gmail
- If the email open event is synced to Klaviyo through an integration, like MailChimp; in this case, the IP we assess will be a MailChimp server IP and not the actual email recipient's IP
Update Location Information Yourself
If you would like to update any location-related properties for one or more Klaviyo profiles -- either by manually importing this location data or using the API -- you will need to reference the relevant "special" property name used by Klaviyo:
- $city: city they live in
- $region: region or state they live in
- $country: country they live in
- $zip: postal code where they live
Most notable here is the "$" before the property name -- all special properties contain the "$" prefix.