+49 69 83008980 service@xqueue.com
Benötigen Sie Hilfe?

Im Maileon Help-Center finden Sie umfassende Dokumentationen zu unserem System.

Beliebte Suchanfragen: Importe | Rest-API | Integrationen | SMS

Contactfilter Schema

Sie sind hier:

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
Inhaltsverzeichnis