When syncing or creating a new profile, Klaviyo determines 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 are used when sending campaign emails based on recipients' 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 and timezone.
- A profile opens an email any time after making a purchase: timezone will be updated, but location will not.
- A profile's repeat purchase events: Klaviyo uses the billing address from the purchase event data to update location and 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 to 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 they 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 they receive 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: the city where they live
- $region: the state/region where they live
- $country: the country where they live
- $zip: the postal code where they live
Most notable here is the "$" before the property name -- all special properties contain the "$" prefix.