How Segment can enable real-time personalization, powered by Miso.ai
Here atΒ Miso.ai, we talk to e-commerce retailers and content media companies pretty much everyday about their tech stack and how we can help them integrate our real-time personalization ML models into their search and recommendation systems. A trend that weβve seen time and time again is thatΒ SegmentΒ is mentioned in their tech stack as their customer data platform (CDP) of choice.
Since launching in 2011, Segment has been helping organizations consolidate their first-party customer data and pipeline it to a multitude of SaaS destinations, ranging from analytics, email marketing, performance monitoring, and more. Speaking as a DevEx Engineer, I really liked setting up my data flows using Segmentβs admin dashboard and perusing their wealth of developer documentation. If you havenβt heard of Segment before, I recommend checking them out (just to be clear, Segment isnβt paying for this post and weβre not co-selling with themβ¦we just like their product).
While we wonβt get into all the benefits of Segment (or of having a customer data platform for that matter), a unique and powerful feature of Segment is itsΒ ability to enable real-time data flows. This is particularly valuable to us because Misoβs 1:1 personalization algorithms are behaviorally driven, on a click-by-click basis. For example, if a user performs a search, hovers over a product tile, clicks through to a product detail page, and adds the product to their cart, the full clickstream of events is immediately sent to Miso and used to predict the likelihood of their next interaction with your product catalogΒ inreal-time.
And as we recently talked about in ourΒ system architecture post, weβre always looking for ways to streamline the integration process of Miso and so, by popular request, letβs take a look at our new Miso x Segment integration!
Hereβs how it works
At a high level, the integration involves setting up a webhook in Segment to send clickstream event data to Miso. Therefore, the initial step, or rather, requirement, is to have your clickstream data available in Segment. That data might come from sources like Google Analytics, Adobe Analytics, Shopify, or natively via Segmentβs JavaScript clickstream snippet.
An important caveat before we go any further is that our Segment integration assumes that your clickstream data follows Segmentβs e-commerce event guidelines outlinedΒ here. If it doesnβt, donβt worry, weβll just need to work with your team to do the schema mapping manually.
And if youβre unfamiliar with webhooks,Β this articleΒ provides a good overview of the topic.
- First, we need to know the URL that tells Segment exactlyΒ whereΒ to send its dataΒ as itβs generated. Head on over toΒ Dojo, Misoβs admin dashboard, and click on theΒ IntegrationsΒ tab. Look for theΒ SegmentΒ tile and clickΒ Install.
- At the bottom of the page, youβll see your webhook URL (it has a unique authentication token appended to it already). Thatβs what youβll need to paste into Segment later on. Pretty easy, right?
- Weβre done with Dojo for now, so letβs head over to Segment andΒ log into their dashboard.
- For this integration, your clickstream data is the source and Miso is the destination. So assuming your clickstream data is already in Segment, we just need to create a new destination. From the left panel, selectΒ DestinationsΒ andΒ Add Destination.
- Next youβll see a catalog of destinations to choose from. Our destination is aΒ webhook.
- On the following screen, youβll see aΒ Configure WebhooksΒ option. Select it and continue to follow the setup wizard (at one point youβll be prompted to select the data source for your clickstream data so be sure to have that information handy).
- As you continue through the wizard, youβll eventually see aΒ Connection SettingsΒ section with a row labeledΒ Webhooks (max 5). Select that row and paste the webhook address (including the authorization token) from Dojo in theΒ Webhook URLΒ field. Then, selectΒ Save. Thatβs it!
- Once your webhook is configured, any new clickstream events in your source data will be pushed to Miso as they occur, enabling real-time personalization for your site.
Wait, what about everything else!?
OK, so what weβve done so far is set up a real-time data feed to push your clickstream data to Miso. And believe it or not, thatβs typically the toughest milestone for teams to accomplish. Hereβs a quick run-down on where that leaves us in the implementation journey:
If you enjoy this type of content, then stay tuned! Weβll be publishing more articles for every step of the implementation soon.
Closing thoughts
Letβs be real β implementing a new, 3rd party tool isnβt easy and not that much fun either. We deal with the same feelings of uneasiness ourselves when trying out new tools here at Miso. So we try our best to be mindful of that when working with your team on the integration process. That means 24/7 Slack support, bi-weekly Zoom check-ins, and an unrelenting focus on building out our docs resources for clarity and self-service.
I hope you enjoyed reading this article! Iβd like to give a shoutout to Lucky Gunasekara and Lan Le for their editing expertise and Stian Johannessen for his design work (seriously, how cool is that Super Miso World map!?) If thereβs an integration (or any other topic, really) that youβre curious about and want us to unpack, drop us a line on ourΒ contact formΒ or atΒ hello@askmiso.com. Weβd love to hear about what youβre working on and how we can help!