When and How Klaviyo Sets a Profile's Location



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:

  1. A profile's first Opened Email event (but has never purchased): Klaviyo uses IP to update Timezone and Location.
  2. A profile makes his/her first purchase: Klaviyo uses the Billing Address from the purchase event data to update Location & Timezone.
  3. A profile opens an email any time after making a purchase: Neither timezone or location update.
  4. A profile's repeat purchase events: Klaviyo uses the Billing Address from the purchase event data to update Location & Timezone.

IP Geolocation

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.

Was this article helpful?
3 out of 7 found this helpful