When and How Klaviyo Sets a Contact's Location



Klaviyo determines a contact's location when syncing a billing address for the contact; if a contact hasn't purchased, their location is determined based on IP geolocation. 

IP Geolocation

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. This is called IP geolocation.

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 contact'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?
1 out of 3 found this helpful