Jak využívat geolokační segmentaci v SAP Marketing Cloudu zcela ZDARMA?

Jak využívat geolokační segmentaci v SAP Marketing Cloudu zcela ZDARMA?

Napsali: Jaroslav Lešťan, SAP Developer a Filip Žarnovický, CX Consultant

 

Segmentačný nástroj je jeden z nejužitečnějších a nejvíc používaných appiek v SAP Marketing Cloude. Je user-friendly, intuitivní, rychlý, velmi schopný a obsahuje různé nejmodernější vychytávky. Jednou z nich je aj geolokační segmentace, díky čemu si můžete zobrazit všechny vaše kontakty na mapě a dále je geograficky filtrovat, aby ste vytvořili ideální cílovou skupinu. Cílem tohoto článku není popis funkcionality jako takové, jako spíše zaměření se na technologickou stránku problematiky získávaní geolokačních dat, jelikož bez nich je to pro vás jenom prázdna mapa.

jak-vyuzivat-geolokacni-segmentaci-v-sap-marketing-cloud-zcela-zdarma  

Jak ale získat tato data? Řešení je jistě vícero. Některé obsahují implementaci drahých licenčních řešení, existují však i takové, které jsou dostupné na webu zcela zdarma. A implementaci takového řešení si teď představíme. 

V rámci SAP Marketing Cloudu jsou k tomuto účelu k dispozici standardní pole LATITUDE and LONGITUDE, které můžete dohledat např. v CDS view I_MKT_CONTACT (Marketing: Interaction Contact). Stačí tedy doplnit existující a nově vytvářené kontakty potřebnými GPS souřadnicemi a můžeme segmentovat.

SAP již řadu let nabízí možnost rozšíření standardní funkcionality pomocí implementace tzv. BAdI, jež je dostupné také v SAP Marketing Cloudu. Pomocí BAdI můžeme implementovat zákaznickou logiku, která bude spouštěna v době, kdy vytváříme, případně měníme údaje k adrese kontaktu. Samotná data o GEO lokaci můžeme získat, jak již bylo řečeno, pomocí veřejných API, na základě údajů z adresy kontaktu. Existuje celá řada poskytovatelů, kteří nabízí potřebné API pro získání GPS souřadnic. Pro naše testovací účely využijeme Openstreetmaps(OSM) servis.

Ukázka použití API v browseru:

jak-vyuzivat-geolokacni-segmentaci-v-sap-marketing-cloud-zcela-zdarma

  1. Pro implementaci vlastní logiky a volání potřebného API použijeme aplikaci Custom Fields and Logic, která je k dispozici v sekci Extensibility (Rozšiřitelnost) v rámci SAP Marketing Cloudu. Pokud tuto aplikaci nevidíte, ověřte, zda máte potřebná oprávnění.jak-vyuzivat-geolokacni-segmentaci-v-sap-marketing-cloud-zcela-zdarma
  2. V aplikaci vyberte záložku Custom logic a pomocí tlačítka + vytvoříme vlastní rozšíření. Za tímto účelem je potřebné vybrat správný Busines context a BAdI description, které určuje místo a čas, kdy se naše logika bude volat.

 jak-vyuzivat-geolokacni-segmentaci-v-sap-marketing-cloud-zcela-zdarma

  1. Po založení našeho rozšíření se dostanete k samotné implementační obrazovce, kde je možné psát vlastní kód pomoci ABAP for key users. Existující kód smažte nebo upravte podle Vašich potřeb. Můžete vyjít například z níže uvedeného kódu. Pro účely volání a konzumace našeho API nabízí SAP třídy cl_ble_http_client a cl_ble_http_request, které nám umožní komunikovat a našim vybraným veřejným API. To nám na základě adresy kontaktu vrátí potřebné údaje o GEO lokaci. Zjednodušené řešení demonstruje níže uvedený příklad implementace.

  jak-vyuzivat-geolokacni-segmentaci-v-sap-marketing-cloud-zcela-zdarma

 

 Kód na kopírování:

 DATA:
lr_ic_root_new TYPE REF TO cuan_s_ce_ic_rt_badi.

DATA ls_body TYPE string.

“ Create HTTP client to access the outbound service
DATA(lo_client) = cl_ble_http_client=>create(
communication_scenario = ‚YY1_API_GPS_OPENSTREETMAPS‘
outbound_service = ‚YY1_APIOPENSTREETMAPS_REST‘ ).

“ Creation of the service request
DATA(lo_request) = cl_ble_http_request=>create(
“ method that is used for the service call
)->set_method(
if_ble_http_request=>co_method-get).

* Process all updated interaction contacts.
LOOP AT new_contact_root REFERENCE INTO lr_ic_root_new.

DATA(lv_query) = ‚?format=json‘ && ‚&street=‘ && lr_ic_root_new->street && ‚&city=‘ && lr_ic_root_new->city1 && ‚&country=‘ && lr_ic_root_new->country.

“ extend the URI by the specified query parameters
lo_request->set_resource_extension( lv_query ).
TRY.
“ Send a request and receive a response.
DATA(lo_response) = lo_client->send( lo_request ).
CATCH cx_ble_http_exception.
lr_ic_root_new->yy1_gps_http_req_enh = ‚exception‘.
ENDTRY.

“ Get the body of the response.
ls_body = lo_response->get_body( ).
lr_ic_root_new->yy1_gps_http_res_1_enh = ls_body.

„Find the appropriate coordinates from the answer
lr_ic_root_new->latitude = substring_before( val = substring_after( val = ls_body sub = ‚“lat“:“‚) sub = ‚“‚ ).
lr_ic_root_new->longitude = substring_before( val = substring_after( val = ls_body sub = ‚“lon“:“‚) sub = ‚“‚ ).
ENDLOOP.

 

  1. K tomu, aby naše veřejná API mohla být konzumována v rámci SAP Marketing Cloudu, je samozřejmě třeba nastavit i Communication Management:


a) 
Založíme komunikační scénář (Communication Scenario) s našim Outbound service. Příklad URI našeho servisu vypadá následovně:

https://nominatim.openstreetmap.org/?format=json&street=XXXXXX&city=XXX&country=XX

b) Komunikační systém můžeme založit bez komunikačního usera nakolik naše API nevyžaduje autentizaci,

c) po založení komunikačního arrangementu samozřejmě otestujeme správnou komunikaci systému s naší API pomocí tlačítka Check connection.

 

  1. Pokud vše proběhlo úspěšně, můžeme naší novou logiku otestovat. Vytvoříme si nový kontakt například pomocí aplikace Contactsjak-vyuzivat-geolokacni-segmentaci-v-sap-marketing-cloud-zcela-zdarma
  2. Následně zkontrolujeme získané souřadnice v polích k novému kontaktu např. ve view I_MKT_Contacts.

 jak-vyuzivat-geolokacni-segmentaci-v-sap-marketing-cloud-zcela-zdarma

S naplněnými hodnotami Latitude a Longtitude vám již nic nebrání jít do segmentační aplikace a začít tvořit své cílové skupiny pomocí geolokačních atributů. Řekneme si ale narovinu, to že tento námi popsaný způsob je zdarma má přece jen cenu. A tím jsou určitá omezení výkonu. Každý poskytovatel je má nastavené jinak, konkrétně OpenStreetMaps servis má limity nastaveny na hodnotách 1 request za sekundu a maximálně 10 000 requestů denně. Pro běžný provoz dostačující, pro hromadný import dat mírný oříšek, nikoli však neřešitelný.

jak-vyuzivat-geolokacni-segmentaci-v-sap-marketing-cloud-zcela-zdarma

Díky tomuto komplexnímu návodu získáte fungující geolokační segmentaci, avšak v řešení existuje ještě mnoho prostoru pro zlepšení a přizpůsobení vašim konkrétním požadavkům. Právě proto společnost Anodius nabízí služby svých zkušených vývojářů a konzultantů, kteří vám pomůžou při rozšiřování vašich cloudových řešení od společnosti SAP.


I když jde o bezplatní způsob získání geolokačních segmentace, samotný vývoj a implementace rozšíření může být pro firmu s nezkušenými vývojářskými kapacitami finančně náročná. Proto Anodius nabízí jednoduché a levné řešení, které můžete získat v SAP App Center.


Protože Experience matters.

 Zde si můžete prohlédnout video v angličtine: