Im Maileon Help-Center finden Sie umfassende Dokumentationen zu unserem System.
Beliebte Suchanfragen: Importe | Rest-API | Integrationen | SMS
Contactfilter Schema
Describes the JSON format for creating or updating a contactfilter.
General structure
A contactfilter is in essence a named list of filter rules to apply on a set of contacts.
Therefore the JSON object consists of a name and a list of rules.
{
"name": "Name of the contactfilter",
"rules": [
// List of filter rule objects to apply one by one
]
}
Rule Structure
A filter rule consists of a condition determining whether a rule should be applied and an operation to be performed. Each rule is applied consecutively to the current list. Since no list exists before the first condition is checked, the starting list is defined in the first rule.
{
´ "startset": "active|all|empty", // The list of contacts to start from - only available and required in the first rule
"operation": "add|remove|intersection|deduplicate|top_n" // Type of logic operation
"selection": {
// Defines the filter condition
// Different for each and even optional for some operations
}
}
Startsets
In the very first rule you have to specify the starting condition of your contact list.
| Startset | Description |
| all | Include all contacts |
| active | Include only currently active contacts |
| empty | Start from an empty set |
Operations
The operation determines which action is applied to the contact list.
| Operation | Description |
| add | Adds contacts matching the condition to the set |
| remove | Removes contacts matching the condition from the set |
| sample | Randomly selects a sample of contacts meeting the condition |
| intersection | Retains only contacts matching both current set and condition |
| deduplicate | Removes duplicate contacts from the current set |
| top_n | Selects the top N contacts |
Selection Structure
The selection defines the source of information your check is being performed on. The structure depends on the chosen operation.
Top N contacts
The top N contacts can be selected based on a numeric contact field or specific interactions with previous mailings (responses).
{
"type": "contactfield|response", // Only numeric contact fields and specific responses are available
"field_name": "Name of field|opens_ratio|opens_unique_ratio|clicks_ratio|clicks_unique_ratio",
"value": 1|2|3|..., // Numeric value
"order": "Sorting direction" // asc or desc
}
Deduplication
Deduplication doesn’t require any further information. Therefore the selection is being skipped completely.
Complete payload:
{
"name": "Deduplication filter",
"rules": [
{
"startset": "all",
"operation": "deduplicate"
}
]
}
General selection
In general a selection consists of the basis or source of data and the criteria defining the check to be performed.
{
"selection_base": "contactevent|contactfield|...", // Type of selection
"criterion": {
// The details of the selection
// Varies with each selection base
}
}
Selection bases
The following selection bases aka data sources are available in filter checks.
| Selection | Description |
|
contactevent
|
A triggered event aka transaction in Maileon |
|
contactfield
|
A standard or custom field in Maileon (standard field naming but in lowercase) |
|
contactpreference
|
A preference in Maileon |
|
dataextensions
|
A data extension |
|
list_or_filter_affiliation
|
Another contactfilter or a target group aka distribution list |
|
marketing_automation
|
A marketing automation program |
|
response
|
A recipient’s interaction with the mailing (click, open, bounce etc.) |
|
score
|
The contact’s score in Maileon |
|
vouchers
|
Received vouchers |
Criteria structure by selection
The details on how to perform each check depend on the selection base. All possible operators are listed further below.
contactevent
{
"event_name": "Name of the event",
"attribute_name": "Name of the attribute",
"operation": "equals|contains|between|...", // Operator
"value": "Value to operate on" // Data type according to operator
}
contactfield
{
"field_name": "Name of the contactfield",
"operation": "equals|contains|between|...", // Operator
"value": "Value to operate on" // Data type according to operator
}
contactpreference
{
"preference_name": "Name of preference",
"category_name": " Name of preference category",
"operation": "equals|notequals", // Always a boolean check
"value": true|false
}
dataextension
{
"data_extension_name": "Name of the data extension",
"data_extension_field": "Name of the data extension field"
"operation": "notempty" // Available operators depend on data extension field data type
}
marketing_automation
{
"type": "active_program|finished_program", // Status of program
"operation": "equals", // Only string equals is available
"value": "Name of program"
}
list_or_filter_affiliation
contactfilter
{
"selection_base": "list_or_filter_affiliation",
"criterion": {
"type": "contactfilter",
"operation": "equals",
"value": "Name of the contactfilter"
}
}
target group
{
"selection_base": "list_or_filter_affiliation",
"criterion": {
"type": "targetgroup",
"operation": "equals",
"value": "Name of the target group"
}
}
response
{
"type": "Name of the response type",
"operation": "equals|greater|smaller|...", // Numeric operator
"value": 1|2|3|... // Data type is numeric
}
| Response type | Description |
| sent | Sent mailings |
| bounces | Bounces (hard and soft) |
| opens | Mailing opens |
| opens_unique | Unique mailing opens |
| opens_ratio | Mailing open ratio |
| opens_unique_ratio | Unique mailing open ratio |
| clicks | Mailing clicks |
| clicks_unique | Unique mailing clicks |
| clicks_ratio | Mailing click ratio |
| clicks_unique_ratio | Unique mailing click ratio |
| replies | Replies to a mailing |
| subscriptions | Only boolean |
| unsubscriptions | Only boolean |
| personalization_error | Only boolean |
| conversions | Tracked conversions for clicks (requires Maileon Analytics) |
score
{
"operation": "equals|greater|smaller|...", // Numeric operator
"value": 1|2|3|... // Data type is numeric
}
vouchers
received at all
{
"value": true|false
}
received
{
"operation": "equals|greater|smaller|...", // Numeric operator
"value": 1|2|3|... // Data type is numeric
}
Criteria operators
Logical
| Operator | Description |
| empty | Value is empty |
| notempty | Value is not empty |
Numerical
| Operator | Description |
| equals | Number is equal to value |
| notequals | Number is not equal to value |
| greater | Number is greater than value |
| greaterequals | Number is greater than or equal to value |
| smaller | Number is smaller than value |
| smallerequals | Number is smaller than or equal to value |
| between | Number is between value A and value B (Array) |
| notbetween | Number is not between value A and value B (Array) |
String
| Operator | Description |
| equals | String is equal to value |
| notequals | String is not equal to value |
| contains | String contains value |
| notcontains | String does not contain value |
| starts_with | String starts with value |
| ends_with | String ends with value |
| includedin | String is included in value |
| notincludedin | String is not included in value |
| includedin_like | String is not included in value (like) |
DateTime
Fixed Dates
| Operator | Description |
| equals | Date is equal to value |
| notequals | Date is not equal to value |
| greater | Date is greater than value |
| greaterequals | Date is greater than or equal to value |
| smaller | Date is smaller than value |
| smallerequals | Date is smaller than or equal to value |
| between | Date is between value A and value B (Array) |
| notbetween | Date is not between value A and value B (Array) |
Relative Dates
| Operator | Description |
| date_today | Date is today |
| date_yesterday | Date was yesterday |
| date_tomorrow | Date is tomorrow |
| date_relative_next | Date is in the next X days/weeks/months |
| date_relative_last | Date was in the last X days/weeks/months |
| date_relative_equals | Date is exactly in X days/weeks/months |
| date_relative_past_equals | Date was exactly X days/weeks/months before |
| date_relative_greater | Date is in more than X days/weeks/months |
| date_relative_past_smaller | Date was less than X days/weeks/months before |