Stay CASL Compliant by Using Dynamic Segments

The Canadian Anti-Spam Law, or CASL, came into effect earlier this month. Even though you likely don’t need me to tell you what time it is, I’m going to tell you anyway. It’s compliance time! Yes, I’m completely aware that compliance time is everyone’s favorite time.

Maybe not.

But even if it’s not your favorite part of your business, you still don’t want to get sued. True, private action has been postponed. Also true, winding up in court is something you’d like to avoid regardless of who’s doing the suing.

There are a million posts that can walk you through CASL’s details in fine grain detail. You don’t need us to do that for you. (Although, if you’ve got some time to kill and are feeling worldly, you can peruse Wikipedia and familiarize yourself with every piece of anti-spam legislation known to man. The EU’s General Data Protection Regulation is a decent place to start.)

You’re here because, like most people, you have a bunch of people on your list and they didn’t give you “express consent.” Because we’ve established that you’re not into huge fines, you’ll need to figure out a way to stop emailing those people.

What am I supposed to be doing? How easy is it?

Right, so you’ve sorted out the difference between “implied” and “express” consent and have separated your audience into groups based on the type of consent you can prove and how long you can contact them while remaining compliant.

Oh. You haven’t done that because either you don’t know how or your ESP doesn’t make it easy. If it’s any consolation (it’s not), you’re not alone.

What you’d like to do is easily generate these lists and either exclude or unsubscribe people with as little friction as possible. Implied consent gives you 730 days to figure it out.

Barring a feature that automatically removes noncompliant email addresses, it really does come down to the ease with which your ESP makes the task of “segmenting out” those from whom you don’t have consent.

There are other really important reasons to maintain an “active list” (outside of compliance). If you’re curious, we wrote a piece last year that walks you through it.

Segmentation and exclusion to the rescue

If you’re a Klaviyo user, you are well familiar with segmenting your email lists and tailoring your message based on customer behavior. You’ve set up a bunch of email flows and are enjoying the extra revenue that labor has afforded you.


So what do you do when you have a bunch of people you can’t include in any of your campaigns?

It’s really quite simple — create a segment of people called “CASL”. You should use the criteria “people who have not purchased in two years (implicit consent)” and “have not opted in (explicit consent)”. Voila, you’ve identified which recipients you cannot email given CASL. What’s even better, there’s a feature on every campaign send to exclude this segment so you can avoid all those hefty fines.

It’s worth noting that the CASL segment will be dynamic, just like any other segment you create in Klaviyo. That means that once you set it up, new people who fit the criteria you’ve established are automatically added to the segment.

Admit it, compared to having to keep track yourself, it’s pretty nice imagining email addresses automatically excluded as soon as they hit the two-year mark.


No one, to my knowledge, has an easy way to auto-unsubscribe someone once you’re no longer allowed to send them a “commercial electronic message”.

I’m certain that will change.

But because Klaviyo has supported advanced segmentation since the beginning, you’ve always had the flexibility to slice up your lists by customer behavior. In this case, by defining an inactive segment to be forever excluded, you’re saving yourself a lot of future hassle.

How you do all this depends on your ESP. Keep in mind that how much time you spend doing it has the same dependency.


How Blogging Can Drive eCommerce Sales



How to target inactive subscribers on Facebook



Our 5 Favorite April Fools Day Emails


.yuzo_related_post img{width:260px !important; height:250px !important;}
.yuzo_related_post .relatedthumb{line-height:16px;background: !important;color:!important;}
.yuzo_related_post .relatedthumb:hover{background:#ffffff !important; -webkit-transition: background 0.2s linear; -moz-transition: background 0.2s linear; -o-transition: background 0.2s linear; transition: background 0.2s linear;;color:!important;}
.yuzo_related_post .relatedthumb a{color:#323b43!important;}
.yuzo_related_post .relatedthumb a:hover{ color:}!important;}
.yuzo_related_post .relatedthumb:hover a{ color:!important;}
.yuzo_related_post .yuzo_text {color:!important;}
.yuzo_related_post .relatedthumb:hover .yuzo_text {color:!important;}
.yuzo_related_post .relatedthumb{ margin: 0px 0px 0px 0px; padding: 5px 5px 5px 5px; }

jQuery(document).ready(function( $ ){
//jQuery(‘.yuzo_related_post’).equalizer({ overflow : ‘relatedthumb’ });
jQuery(‘.yuzo_related_post .yuzo_wraps’).equalizer({ columns : ‘> div’ });

Back to Blog Home
Get email marketing insights delivered straight to your inbox.
  • Hi Holly –

    1) You could create a segment that has conditions to exclude CASL people and send to that.
    2) Try adding filters to a flow to exclude CASL people — they will need to have some sort of identifying property for them, either a custom property or a location-based property.

  • Comments are closed.