Ako využívať geolokačnú segmentáciu v SAP Marketing Cloude úplne ZADARMO?
Ako využívať geolokačnú segmentáciu v SAP Marketing Cloude úplne ZADARMO?
Napísali: Jaroslav Lešťan, SAP Developer a Filip Žarnovický, CX Konzultant
Segmentačný nástroj je jeden z najužitočnejších a najviac používaných appiek v SAP Marketing Cloude. Je user-friendly, intuitívny, rýchly, veľmi schopný a obsahuje rôzne najmodernejšie vychytávky. Jednou z nich je aj geolokačná segmentácia vďaka čomu si môžete zobraziť všetky vaše kontakty na mape a ďalej ich geograficky filtrovať, aby ste vytvorili ideálnu cieľovú skupinu. Cieľom tohto článku nie je popis funkcionality ako takej, ako skôr zameranie sa na technologickú stránku problematiky získavania geolokačných dát, pretože bez nich je to pre vás len prázdna mapa.
Ako ale získať tieto dáta? Riešení je určite viacero. Niektoré obsahujú implementáciu drahých licenčných riešení, existujú však aj také, ktoré sú dostupné na webe úplne zadarmo. A implementáciu takéhoto riešenia si teraz predstavíme.
V rámci SAP Marketing Cloudu sú, na tento účel, k dispozícii štandardné pole LATITUDE and LONGITUDE, ktoré môžete dohľadať napr. V CDS view I_MKT_CONTACT (Marketing: Interaction Contact). Stačí teda doplniť existujúce a novo vytvárané kontakty potrebnými GPS súradnicami a môžeme segmentovať.
SAP už niekoľko rokov ponúka možnosť rozšírenia štandardnej funkcionality pomocou implementácie tzv. BAdI, ktoré je dostupné aj v SAP Marketing Cloude. Pomocou BAdI môžeme implementovať zákaznícku logiku, ktorá bude spúšťaná v čase, keď vytvárame, prípadne meníme údaje k adrese kontaktu. Samotné dáta o GEO lokácii môžeme získať, ako už bolo povedané, pomocou verejných API, na základe údajov z adresy kontaktu. Existuje celý rad poskytovateľov, ktorí ponúkajú potrebné API pre získanie GPS súradníc. Pre naše testovacie účely využijeme OpenStreetMaps (OSM) servis.
Ukážka použitia API v browseri:
- Pre implementáciu vlastnej logiky a volanie potrebného API použijeme aplikáciu Custom Fields and Logic, ktorá je k dispozícii v sekcii Extensibility (Rozšíriteľnosť) v rámci SAP Marketing Cloudu. Ak túto aplikáciu nevidíte, overte, či máte potrebné oprávnenia.
- V aplikácii vyberte záložku Custom logic a pomocou tlačidla + vytvoríme vlastné rozšírenie. Za týmto účelom je potrebné vybrať správny Busines context a BAdI description, ktoré určuje miesto a čas, kedy sa naša logika bude volať.
- Po založení nášho rozšírenia sa dostanete k samotnej implementačnej obrazovke, kde je možné písať vlastný kód pomocou ABAP for key users. Existujúci kód zmažte alebo upravte podľa Vašich potrieb. Môžete vychádzať napríklad z nižšie uvedeného kódu. Na účely volania a konzumácie nášho API ponúka SAP triedy cl_ble_http_client a cl_ble_http_request, ktoré nám umožnia komunikovať a našim vybraným verejným API. To nám na základe adresy kontaktu vráti potrebné údaje o GEO lokácii. Zjednodušené riešenie demonštruje nižšie uvedený príklad implementácie.
Kód na kopírovanie:
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.
- K tomu, aby naša verejná API mohla byť konzumovaná v rámci SAP Marketing Cloudu, je samozrejme potrebné nastaviť aj Communication Management:
a) Založíme komunikačný scénar (Communication Scenario) s naším Outbound service. Príklad URL nášho servisu vyzerá takto:
https://nominatim.openstreetmap.org/?format=json&street=XXXXXX&city=XXX&country=XX
b) Komunikačný systém môžeme založiť bez komunikačného USERA nakoľko naše API nevyžaduje autentizáciu,
c) po založení komunikačného arrangementu samozrejmě otestujeme správnu komunikáciu systému s našou API pomocou tlačidla Check connection.
- Ak všetko prebehlo úspešne, môžeme našu novou logiku otestovať. Vytvoríme si nový kontakt napríklad pomocou aplikácie Contacts.
- Následne skontrolujeme získané súradnice v poliach k novému kontaktu napr. Vo view I_MKT_Contacts.
S naplnenými hodnotami Latitude a Longitude vám už nič nebráni ísť do segmentačnej aplikácie a začať tvoriť svoje cieľové skupiny pomocou geolokačných atribútov. Povieme si ale narovinu, to že tento, nami opísaný spôsob, je zadarmo má predsa len cenu. A tým sú určité obmedzenia výkonu. Každý poskytovateľ ich má nastavené inak, konkrétne OpenStreetMaps servis má limity nastavené na hodnotách 1 request za sekundu a maximálne 10 000 requests denne. Pre bežnú prevádzku postačujúce, pre hromadný import dát mierny oriešok, nie však neriešiteľný.
Vďaka tomuto komplexnému návodu získate fungujúcu geolokačnú segmentáciu, ale v riešení existuje ešte veľa priestoru pre zlepšenie a prispôsobenie vašim konkrétnym požiadavkám. Práve preto spoločnosť Anodius ponúka služby svojich skúsených vývojárov a konzultantov, ktorí vám pomôžu pri rozširovaní vašich cloudových riešení od spoločnosti SAP.
Aj keď ide o bezplatný spôsob získania geolokačnej segmentácie, samotný vývoj a implementácia rozšírenia môže byť pre firmu s neskúsenými vývojárskymi kapacitami finančne náročná. Preto Anodius ponúka jednoduché a lacné riešenie, ktoré môžete získať v SAP App Center.
Pretože Experience matters.
Tu si môžete pozrieť video v angličtine: