Email marketing should be targeted - it's not recommended to blast every campaign to all recipients but to target the recipients that the campaign is most relevant for. This is where Delivery capping comes into play.
Delivery capping for a campaign is set-up in the campaign by clicking on the Delivery capping button.
After clicking you will be presented with a dialog of a Query Builder that will help you create rules of your segmentation. This process is very simple yet allows you to create very complex rules that recipients must match to get the campaign. The query builder is similar to the query builder in recipient filtering.
Query builder has two steps and both are optional - you don't need to enter rules in each of the steps but you can skip them.
In the first step you can (but don't have to) create rules for segmentation based on recipient data. Start creating the rule by clicking the Add button (to add a single condition) or Add group (to add multiple conditions within a level). The total number of conditions is unlimited as is their nesting.
TIP no. 1: Matching text fields using equal, not equal, begins with, doesn't begin with, contains, doesn't contain operators:
All string matches are CASE INSENSITIVE, eg. doesn't matter whether the text is upper-case, lower-case or mixed-case.
Example: City equals "london" will match all records containing value "london", as well as "London", "LONDON" or "LoNdOn".
TIP no. 2: Matching ignores diacritics (accents):
Example 1: City is equal "Červené Pečky" will match both "Červené Pečky" and "Cervene Pecky".
Example 2: City is equal "Cervene Pecky" will match both "Cervene Pecky" and "Červené Pečky".
While creating your conditions you can use Verify rules button at any time to get information about the number of recipients matching your conditions.
If you click on the Number of matching records those matching will be exported into a CSV file. Once the export is completed a notification will show up in the notifications area in the top right corner of your window where you can do the download the file - )
The created rules can be saved for later use in any campaign. This can be done using the Save rules and Load rules buttons. You can manage all your stored rules in Profile / Queries.
On the second step you can (but don't have to) create rules to target recipients based on their interactions with the campaigns. You can for example create a rule to target only recipients who have received, opened but not clicked in another campaign.
Start by clicking on the Add Campaign/Message button and select the campaign or delivery from the list. Only campaigns and deliveries from the past 1 year are available for selection.
Next click on the Add rule button and define whether you are targeting recipients who have received messages from selected campaigns or not. You can also add date restrictions here, eg. received campaign within last 3 months.
After clicking the Add group you can set the specific recipient interactions to target - opens, clicks, conversions, etc..
Once you have completed setting up your rules (no matter whether just step 1 or just step 2 or both) you can apply the by clicking the Use Filter button. The fact that delivery capping rules are active is indicated by a green check mark nexto the Delivery capping button in your campaign:
Targeting customers who ordered 7 days ago? Customers who's contracts are about to expire in 2 months? Recipients who have a birthday today? You can do pretty much anything...
When creating rules you can work with dates stored in any of the recipient's custom fields or system dates like date of creation, date of last message sent, date of consent, etc.
When working with dates you can use the following operators: equal, not_equal, greater, greater_or_equal, less, less_or_equal.
The matched field value must be entered in the default MySQL format, eg. Y/m/d (2019/07/31).
Example 1: Simple match of field with specific date:
Expressions must be entered in brackets: [DB_field_format;field_function|expression;expression_function]
When using expressiong at least the following must be entered:
Příklad 2: Porovnání pole typu datum s výrazem:
|change_date||greater_or_equal||[datetime|CURDATE-7]||Date of last change (change_date) is greater or equal to current date minus 7 days (7 days before today) and change_date field is of type datetime.|
When filtering using text fields the format of the date stored in the field must be entered.
|Format name||Field type use||Format||Example|
|datetime||date of change,
date last sent,
date of consent
|MySQL datetime||Saved in a datetime field type formated as 2018/12/31 23:59:59|
|CURDATE||[date|CURDATE+X]||Current date + X days|
|[date_us|CURDATE-X]||Current date - X days|
|[date_eu|CURDATE-X]||Current date - X days|
|[date_eu_short|CURDATE+X]||Current dayte + X days|
Example 3: Matching text field using expression:
|custom_2||greater_or_equal||[date_eu|CURDATE-7]||Costom field 2 (custom_2) is greated or equal current date minus 7 days while being stored in a european format "d.m.Y" (eg. 31.12.2018).|
Functions can be used on top of a field as well as on top of the matched value. That's why the function must be entered separately for both left and right side of an expression.
|DAYOFWEEK||Day of week|
|ANNIVERSARY||Anniversary - matches day and month ignoring the year|
|DATE||DATE - return a date ignoring the time part of the value|
Příklad 4: Using functions:
|s_last_sent||not_equal||[datetime;DATE|CURDATE]||Date of last message sent (s_last_sent) is a datetime field. Using this rule we will exclude all recipients who have received a message today.|
|custom_1||equal||[date_eu;DAYOFWEEK|CURDATE;DAYOFWEEK]||Custom field 1 (custom_1) is a text field saved in d.m.Y format. Day of week in custom_1 is matched to current day of week.|
|custom_2||equal||[date_eu;MONTH|12]||Custom field 2 (custom_2) is a text field is d.m.Y format. This rule will match all december dates in field custom_2.|
|custom_3||equal||[date_us;ANNIVERSARY|CURDATE;ANNIVERSARY]||Custom field 3 (custom_3) is a text field in Y-m-d format containing the birthdate of recipient. This rule will match all recipients who have birthday today.|
|custom_4||equal||[date_eu_dm;ANNIVERSARY|CURDATE+1;ANNIVERSARY]||Custom field 4 (custom_4) is a text field in d.m. format containing the birthdate of recipient. This rule will match all recipients who will have birthday tomorrow.|
|custom_5||equal||[date_eu_dm;ANNIVERSARY|2015/12/24;ANNIVERSARY]||Custom field 5 (custom_5) is a text field in d.m. format containing the birthdate of recipient. This rule will match all recipeitns that have birthday on december 24th.|
|custom_6||greater_or_equal||[date_us;AGE|18]||Custome field 6 (custom_6) is a text field in Y-m-d format containing the birthdate of recipient. This rule will match all recipients 18 years or older.|