Skip to main content

    Map your data into Klaviyo

    Course overview
    Lesson
    3 min read

    Identify common gotchas

    Learn more about a few specific components of Klaviyo that can help you proactively structure your data properly.

    Proactively plan your data mapping

    We've seen how customers applied the 4-step framework to map their data properly. Read through the dropdowns below for common "gotchas" they encountered, or nuances to Klaviyo's setup that are important to understand prior to setting up your custom solution.

    List- and segment-triggered flows

    A profile can only trigger a list- or segment-triggered flow once. For example, let's say you have a flow triggered by a segment of customers who placed an order in the last 2 weeks. A customer can receive an email from this flow, then be removed from the segment by not purchasing for 2 weeks. If they place another order, they will rejoin the segment, but they will not retrigger the flow.

    You can read more about this here.

    Data types

    All event and profile data in Klaviyo has one of 5 data types:

    • Text
    • Number
    • Date
    • Boolean
    • List

    When structuring your data, be sure to use the appropriate data type for your data. You can read more about data types here.

    When sending date data, make sure to format dates in one of our acceptable date and time formats.

    Profile properties are overwritten

    When adding a profile property of the same name, any existing values will be overwritten.

    For instance, let's say you have a customer with the custom profile property "Favorite coffee flavors" with a value of "vanilla."

    If you use the Update Profile endpoint to set "Favorite coffee flavors" to "caramel," the property will be overwritten and the customer will only have "caramel" on their profile.

    Use the patch_properties to append, unappend, or unset properties instead of overwriting them. More details can be found in this Solution Recipe.

    Events are immutable

    Once an event is sent into Klaviyo, it cannot be changed. For example, if a Placed Order event syncs from Shopify to Klaviyo, the event in Klaviyo will stay the same even if the order changes in Shopify.

    You can resend another event, but the original event will always stay the same. If you send the same event with the same name and timestamp for a particular profile, make sure to include a unique ID. Otherwise, the second event will be skipped as a duplicate. Read more about events here.

    Event naming conventions

    When naming custom events, use a past tense verb followed by a noun. For instance, if you are creating an event that fires whenever a customer uses a coupon, use the format Used Coupon.

    If you have several similar events with subtle variations, it is best practice to call these all the same event name and then include variations within the event data.

    For instance, let's say your brand is a bakery that creates custom cakes, cookies, and brownies. Rather than have separate events for Ordered Custom Cookies, Ordered Custom Brownies, and Ordered Custom Cake, they choose to set up a Placed Custom Order metric where the event data contains all the details, including the type of baked good.

    This type of setup allows for more flexibility in segmentation and prevents you from approaching the custom event limit of 200. Keep in mind that event data needs to be top-level for use in segmentation and filtering.

    Identify common gotchas