Skip to main content

Hi there! I am looking to create an email campaign that prompts our points program members to use their available rewards. I have rewards redeemable at the 500, 1000 and 2000 points marks. 

I am using the app Smile.io, and it integrates with Klaviyo so the customers points balances are available as a custom property (the custom property is called Smile Points Balance).

Would it be possible to show conditional blocks to these customers based on available points range? I am new to using custom logic within Klaviyo.

The set up I was thinking is: 

Customers with 500 - 999 points see the 500 points reward block only

Customers with 1000 - 1999 points see the 1000 points reward block only

Customers with 2000 + points see the 2000 points reward block only

The issue I am experiencing is that customers with higher balances will meet the requirements for all 3 blocks, but I only want them to see the block for the highest reward they qualify for.

 

I know you can use custom logic to show numeric values as a less, greater than or equal to, such as: person|lookup:'Age' <= 20

However, is there a way to modify this so that customers who have a points balance in a specific range see only a specific block out of the 3, or a different way to hide the lower reward blocks from the higher reward customers?

 

Thank you in advance for any guidance :) 

Hi @tanyal,

For the customers between 500 and 999, use this logic in the block:

person|lookup:'Smile Points Balance' <= 999

 

For customers that have 2000 or more, use this:

person|lookup:'Smile Points Balance' >= 2000

 

Customers who have 1000 to 1999 are a bit more tricky - I’m not sure if it will work, but try this:

person|lookup:'Smile Points Balance' >= 1000 AND < 2000

Let me know how it turns out for you! Good luck!
 


Hi @tanyal,

For the customers between 500 and 999, use this logic in the block:

person|lookup:'Smile Points Balance' <= 999

 

For customers that have 2000 or more, use this:

person|lookup:'Smile Points Balance' >= 2000

 

Customers who have 1000 to 1999 are a bit more tricky - I’m not sure if it will work, but try this:

person|lookup:'Smile Points Balance' >= 1000 AND < 2000

Let me know how it turns out for you! Good luck!
 

Hi Jess, thank you so much for your help! I was able to get the under 999 and over 2000 blocks to show, however when I try to do the one with “AND” (under 1999 reward), it gives me the error saying I need to fix something in the logic. I might just have to have both blocks show up for that tier, but at least the 2000 one will have the high value reward front and center :) 

Thanks again for your help!


Hi @tanyal,

Glad at least part of it worked for you!

I have one more idea for the middle group - try this:

person|lookup:'Smile Points Balance' >= 1000 AND person|lookup:'Smile Points Balance' < 2000

I’m hoping the error just means that you need to add the “lookup” part twice. I’ve been able to use this type of logic using OR when the variables were fixed (not a range of numbers), so maybe it will work for a range when using AND - ??

Good luck!!


Hi @tanyal,

Glad at least part of it worked for you!

I have one more idea for the middle group - try this:

person|lookup:'Smile Points Balance' >= 1000 AND person|lookup:'Smile Points Balance' < 2000

I’m hoping the error just means that you need to add the “lookup” part twice. I’ve been able to use this type of logic using OR when the variables were fixed (not a range of numbers), so maybe it will work for a range when using AND - ??

Good luck!!

THANK YOU!! This has worked! The one thing I changed was used lowercase “and” - it turns out this whole time it just didn’t like the uppercase AND!

I really appreciate your help, thank you so much!


@tanyal,

Oh, I’m so sorry that the capitalization was a problem! I capitalized it so it would stand out 🤦

Looking back at my notes, when I used “or”, it was definitely lowercase; it didn’t occur to me that it would make a difference, but now it makes sense. So glad you were able to figure it out! 😀


Reply