Giter VIP home page Giter VIP logo

analytics.js-integration-klaviyo's Introduction

analytics.js-integration-klaviyo's People

Contributors

bbeaird avatar brennan avatar hankim813 avatar ianyamey avatar ndhoule avatar peripheral1994 avatar segmentdestinationsbot avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

isabella232

analytics.js-integration-klaviyo's Issues

Mapping all meaningful events

The Klaviyo docs state the following events are meaningful:

  • Viewed Product
  • Placed Order
  • Ordered Product
  • Fulfilled Order
  • Started Checkout

The Segment integration docs suggest an Order Completed event will map to both Placed Order and Ordered Product events. In the code I can only see the Ordered Product event being called.

Additionally, it would also be great to map the following events:

  • Product Viewed > Viewed Product
  • Checkout Started > Started Checkout

As far as I can see there is no Segment equivalent to Fulfilled Order.

Option to use email as userId

When I make an identify call with a customer id sent as the userId, and email as a trait, this creates a new user entry in Klaviyo. When an email is opened by the same email, a new user is created. I now have two user entries for the same email in Klaviyo. One created with userId as the primary identifier, and the other created using email.

As far as I can see you would never want to identify a user in Klaviyo with anything other than email, as this leads to multiple users for the same email address. As Segment recommends not identifying on email, it would be great if this integration had the option to send the email trait as userId. I'm imagining a toggle in the Segment integration UI, 'Use email as userId', I'm not sure what it would require in the code here.

This is from Klaviyo support:

When integrating with Segment, you should always have the email address as the primary identifier. If you use an ID number as the primary identifier, Klaviyo has no way of automatically preventing duplicates โ€“ that would have to be done by a custom script on your end to check for duplicates before sending an identify call to Klaviyo. In other words, Klaviyo by default does alias users on email address, but submitting data based on unique ID from Segment overrides that behavior.

The existing work around is to make two identify calls, one to Klaviyo, the other to the rest of your integrations. But this kind of defeats the point of Segment.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.