ContributionsMost RecentMost LikesSolutionsRe: Help - IAM's are spamming some of our users Hey Charlie - hasty response here given the nature of the issue. You could pretty quickly set up a custom attribute to determine if someone is eligible for this IAM. I'm not sure what your entry criteria is for the campaign/canvas, but you could set up a custom attribute called "last_rating_request_date" and update it after someone receives this IAM. If you're using a canvas, send your IAM and then use the user update step to enter today's date into the "last_rating_request_date" field. Then update your entry criteria to only allow individuals where last_rating_request_date is more than 30 days ago, or however long you'd like to make that wait. You can set today's date in the User Update step using the json editor and entering something along these lines: {% assign timestamp = 'now' | date: "%Y-%m-%dT%H:%M:%SZ" %} { "attributes": [ { "last_rating_request_date": "{{timestamp}}" } ] } Each time someone is qualified to move back through and receive the IAM, they'd receive that message and then the update step would keep the date updated - scales pretty easily. You could also add an additional attribute, or custom event, to log how many times someone has entered this canvas and block them from reentering after 3 attempts with no rating submitted, assuming your capturing that rating as a data point somehow. Fully recognize that this doesn't solve the issue/mystery on why someone is reentering when they shouldn't be, but it's a potential solution to basically recreate the functionality you're experiencing these issues with to put a stop to the spammy behavior as you investigate further. Hope that helps! Re: Can email address be used as a custom attribute in liquid? Hey Steve, Email address is a Standard Attribute that you can call in using{{${email_address}}} - no need to use the custom attribute syntax. You can find all of the Liquid syntax for standard attributes here. Re: Randomize or changing copy each time customer enters the same canvas Hey Sofia, You could use if/then logic in Liquid to look at a custom attribute and tailor the subject line (or any content) based on that custom attribute. Let me explain: Let's create a custom attribute called "WelcomeEmailContentVersion" and set the type as a number. When someone enters this canvas for the first time that value will be null, so you'd need copy for when that value is null, 1, 2, etc. Create your email, and use Liquid to build out your list of subject lines.There are a few ways you could dev the liquid snippet, if/then logic, or a case statement event, but could look something like this: {% if custom_attribute.${WelcomeEmailContentVersion} == '1' %} Subject Line 1 {% elsif custom_attribute.${WelcomeEmailContentVersion} == '2' %} Subject Line 2 {% elsif custom_attribute.${WelcomeEmailContentVersion} == '3' %} And on and on {% else %} Subject Line for the null value on first entry {% endif %} Immediately following your email step, add the User Update step and configure it like this: Attribute Name: WelcomeEmailContentVersion Action: Increment By Increment By: 1 So now the next time a subscriber enters this canvas, the custom attribute WelcomeEmailContentVersion will be the previous value plus 1. This wouldn't make it random, but it would keep the user from receiving the same SL over and over again. The ELSE subject line would be what they receive on the first entry and then any entry beyond the 10th if you configure the Liquid to have 10 subject lines. Similarly, you could pair this solution with a Catalog of subject lines to have a long list of subject lines in one central location that's easy to update, and keep then Liquid logic pretty simple to just look up a SL based on what your incrementing custom attribute is. You'd keep using the incrementing User Update step in the Canvas but you wouldn't have to update the email HTML and Liquid if you want to update the subject lines. Hope that helps!