We are giving our users some reward points 3 weeks after their first purchase to encourage a repeat purchase. When we deposit the points we add the profile to a specific list in Klaviyo so we know who has been recently given points.
We use Loyalty Lion and I want to use the ‘Reward available’ trigger to send our own emails notifying customers they have enough points for a reward. I want to build a filter into this flow that sends people who have just been given the rewards a different email to people who have earned the rewards organically.
So I want to use a conditional split to send people who are on the list we created a different email to people who are not on the list. But for this to work we need to remove them them from the list once they have that email so next time they enter the flow organically they get the normal rewards available email.
I hope that makes sense!
Page 1 / 1
Never mind, I’m going to use a timed subscribed to list action and limit it to the past day.
Looks like you found your own workaround, but for future reference, you can use the webhook feature in the flow builder to access the Klaviyo API, which happens to have an endpoint for removing users from lists:
Adding to @DavidSandel response, another approach is to build a conditional branch based on if they’ve already received a specific Flow message.
If this use case works, you can use the “Received Email where Message = XYZ zero times over all time” as your Conditional Split rule.
See here:
So the first time the user goes through this Flow, they haven’t received the first message. But the second (and after that) they go through the Flow they received the alternate email.
Throwing this in for consideration, there’s a lot of ways to approach a solutin with Klaviyo.
@DavidSandel you cannot use the webhoo since it supports only post while the api endpoint requires delete method
@PartsAvatar You can still send a post to a 3rd party platform which then sends the delete back to Klaviyo.
@DavidSandel how to pass the $id of the profile in the webhook? pereson.$id is not working?
since the delete endpoint only accepts profile id to work
As I have not built this specific functionality myself, I can only tell you where I would look first.
Can you include the profile ID in the payload that you send from Klaviyo into the 3rd party system (let’s just pretend it’s Zapier to make this easier)? If you have access to it from the Klaviyo flow but it doesn’t have its own dedicated field, could you package it as extra information in the payload so that you could pull it out later?
If you do use Zapier, you can use the “look up profile” step in Zapier to pull the ID, then make sure to add that to the ‘delete’ payload you’re sending back into Klaviyo.