Přeskočit na hlavní obsah
Všechny sbírkyKontaktySegmentace
Pokročilá segmentace kontaktů dle vlastních dotazů EQL
Pokročilá segmentace kontaktů dle vlastních dotazů EQL

Pokročilá segmentace kontaktů pomocí vlastních dotazů a custom queries, EQL

Jakub Filounek avatar
Autor: Jakub Filounek
Aktualizováno před více než měsícem

Obsah


Úvod

Segmentace a podmínky v automatizacích nabízí možnost filtrovat kontakty dle vlastních specifických dotazů a jejich kombinací. Tento článek vám pomůže s pochopením Ecomail Query Language (EQL)

V rámci EQL můžete pracovat s:

  • všechna základní pole kontaktu (např. name, surname, email)

  • vlastní pole kontaktu - potřeba zadat zápis merge tagu, nikoliv název merge tagu pro váš přehled - následující příklad zápisu v EQL by byl VLASTNI_POLE_2:

  • vlastnosti nákupů (např. transaction.shop, transaction.props)

Seznam základních polí:

name           křestní jméno
surname příjmení
email e-mail
vokativ křestní jméno v 5. pádě
vokativ_s příjmení v 5. pádě
pretitle titul před jménem
surtitle titul za jménem
gender pohlaví
street ulice a číslo popisné
city město
zip psč
country země
company firma
phone telefon
birthday narozeniny
nameday svátek

Operátory

Pro porovnávání polí jsou vám pak k dispozici tyto operátory:

EQUALS                      rovná se
EQUALS_NOT nerovná se
CONTAINS obsahuje
CONTAINS_NOT neobsahuje
LOWER je menší, pouze u polí typu int/číslo
HIGHER je větší, pouze u polí typu int/číslo
CONTAINS_ONE_OF obsahuje jednu z hodnot
DOES_NOT_CONTAIN_ONE_OF neobsahuje žádnou z hodnot

Operátory jsou case-sensitive, tedy musí být napsané velkými písmeny.

Syntax EQL

Zápis EQL je následující:

vlastnost_kontaktu OPERATOR 'obsah vlastnosti'

Použít můžete jednoduché nebo dvojité uvozovky:

vlastnost_kontaktu OPERATOR "obsah vlastnosti"

  • Kombinaci dotazů (pokud se mají splnit oba dotazy) spojíte použitím slovíčka AND:
    email EQUALS "muj@mail.cz" AND name EQUALS "Jan"

  • Pokud stačí splnění jednoho ze dvou dotazů, docílíte toho pomocí slovíčka OR:
    email EQUALS "muj@mail.cz" OR name EQUALS "Jan"

V případě kdy potřebujete kombinovat komplexní dotazy, můžete je vložit do závorek. Takové dotazy se vyhodnotí v rámci celého dotazu mezi sebou a teprvé poté v rámci celého dotazu.

Tento EQL dotaz by vysegmentoval kontakty, které v poli email mají mail.cz NEBO splní obě následující podmínky: kontakty s emailem obsahjící mail.com A ZÁROVEŇ nemají v poli země hodnotu CZ:

email CONTAINS 'mail.cz' OR (email CONTAINS 'mail.com' AND country CONTAINS_NOT 'CZ')

Hodnoty pro operátory CONTAINS_ONE_OF a DOES_NOT_CONTAIN_ONE_OF musí být v hranaté závorce oddělené čárkou, tedy například:

name CONTAINS_ONE_OF ['Jan','Karel','Pepa']

Uvozovky v případě operátorů CONTAINS_ONE_OF a DOES_NOT_CONTAIN_ONE_OF musí být jednoduché.

Příklady

Email je some@mail.cz nebo splní obě podmínky kdy email neobsahuje seznam.cz a jméno je Jan, a zároveň telefonní číslo obsahuje +420:

email EQUALS 'some@mail.cz' OR (email CONTAINS_NOT 'seznam.cz' AND name EQUALS 'Jan') AND phone CONTAINS '+420'

Splní se jedná ze dvou kombinací podmínek kdy email obsahuje .cz a země se rovná CZ nebo email obsahuje .sk a země se rovná SK:

(email CONTAINS ".cz" AND country EQUALS "CZ") OR (email CONTAINS ".sk" AND country EQUALS "SK")

PSČ/ZIP code je větší než 100 a zároveň menší než 150:

zip HIGHER 100 AND zip LOWER 150


Vlastnost nákupu

Parametry objednávek

V rámci EQL můžete pracovat také s kontrolou parametrů samotné transakce. Hodnoty, které můžete kontrolovat jsou následující:

transaction.order_id      text, id objednávky z vašeho eshopu
transaction.timestamp datum, datum a čas objednávky*
transaction.shop text, název obchodu
transaction.amount číslo, celková částka objednávky
transaction.tax číslo, celková daň objednávky
transaction.shipping číslo, cena za dopravu
transaction.city text, město fakturační adresy
transaction.county text, okres / kraj fakturační adresy
transaction.country text, země fakturační adresy

* transaction.timestamp můžete vyhledat jako přesné datum a čas transaction.timestamp EQUALS "2024-12-17 12:23:39" nebo pouze část data pomocí operátoru CONTAINS transaction.timestamp CONTAINS "2024-12-17"

Poslední objednávka

Stejně tak můžete využít last_transaction a vyhledávat pouze mezi poslední objednávkou kontaktů pomocí stejných vlastností viz tabulka výše:

last_transaction.shop EQUALS "mujshop.cz"

Custom props

Dále lze segmentovat přes custom props (vlastností) objednávek, které lze nadefinovat u poslání objednávky přes API takto:

"props": {"myCustomProp": "customPropValue"}

Více informací o requestu transakce v dokumentaci API naleznete zde.

Příklady

Transakce které obsahují fakturační adresu země CZ:

transaction.country EQUALS 'CZ'

Transakce s celkovou částkou vyšší než 1000 a menší než 10000:

transaction.amount HIGHER 1000 AND transaction.amount LOWER 10000

Transakce provedené v datu listopad 2024 nebo prosinec 2024:

transaction.timestamp CONTAINS "2024-11" OR transaction.timestamp CONTAINS "2024-12"

Transakce s custom prop (vlastností) frequency a jejím obsahem 'yearly':

transaction.props.frequency EQUALS 'yearly'

Stejný dotaz jako výše pouze limitovaný na poslední objednávky kontaktů:

last_transaction.props.frequency EQUALS 'yearly'
Dostali jste odpověď na svou otázku?