Geolokáció: hely és időjárás alapú hirdetések


Geolokáció és időjárás alapú hirdetések

A nagy webáruházak előszeretettel alkalmaznak geolokációs megoldásokat az áraik és a hirdetéseik manipulálására. Egyszerű példákon keresztül bemutatom a geolokáció lényegét, továbbá hogy hogyan lehet időjárás alapú hirdetést készíteni.

Mi a geolokáció?

A geolokáció alapjában helymeghatározást jelent. Az aktuális poziócióra vonatkozó információk összegyűjtése és elemzése során új szolgáltatásokat és hatékonyabb reklámot tudunk létrehozni a felhasználóknak.  A lokáció alapú szolgáltatások igazi ereje az analitika és reklám egyfajta kombinációjából származik, amikor fogyasztókat anonim módon lehet megcélozni társadalmi, földrajzi, fizikai és érzelmi indikátorokon keresztül.

Mire használható a hely alapú hirdetés?

A geolokáció lényege, hogy amikor a böngésződben megnyitsz egy weboldalt  – ami geolokációt használ – és jóváhagyod a helyadataid elküldését, akkor a weboldal tisztában lesz a pontos pozícióddal. Ezáltal egy webshop például más árat tud megjeleníteni ugyanarra a termékre a 8. kerületben és más árat az 5. kerületi Váci utca környékére. Eddig legalább is ez működhetett!

Azonban a minap kaptam fel a fejem egy hírre ezzel kapcsolatban:

Az Európai Unió rendelete értelmében a tagországok online kereskedői december 3-tól nem alkalmazhatnak állampolgárság, lakóhely, illetve letelepedési hely szerint különböző árakat.  – forrás

Szóval az árak manipulálását ezzel ki is húzhatjuk, van viszont csomó más dolog, amire felhasználhatjuk a geolokációs adatokat!

Időjárás alapú hirdetés

Mi lenne, ha a felhasználó pozíciója alapján lekérnénk a pontos időjárási adatokat a környékre és az alapján szolgálnánk ki hirdetést neki?

Ha meleg van és száz ágra süt a nap, akkor napszemüveget vagy mondjuk jégkrémet, ha pedig esik az eső esernyőt, meleg teát hirdetnénk neki. A dolog már régóta működik, akár Google Ads-ben is. Mutatom hogyan!

Geolokáció engedélyezése

Mielőtt még tovább mennénk a technikai részletekben, győződj meg róla, hogy engedélyezted a helyadatok megosztását. Amikor megnyitottad ezt a cikket, a böngésződ engedélyt kért. Ha esetleg elutasítottad, akkor Chrome-ban kattints a kis lakatra a bal felső sarokban és engedélyezd, majd frissíts az oldalra:

Geolokációs adatok engedélyezése chromeban

Geolokáció lekérése

Az aktuális koordinátákat ezzel a JS kóddal tudod lekérni:

<script>
 
var x = document.getElementById("geodemo");
 
function getLocation() {
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(showPosition, showError);
    } else { 
        x.innerHTML = "A helymeghatározást ez a böngésző nem támogatja.";
    }
}
 
function showPosition(position) {
    x.innerHTML = "A koordinátáid a következők:<br>Latitude: " + position.coords.latitude + 
    "<br>Longitude: " + position.coords.longitude;
}
 
function showError(error) {
    switch(error.code) {
        case error.PERMISSION_DENIED:
            x.innerHTML = "A teljes felhasználói élmény miatt kérlek engedélyezd a 
helymegosztást, majd frissíts az oldalra!"
            break;
        case error.POSITION_UNAVAILABLE:
            x.innerHTML = "Nem érhető el geolokációs adat."
            break;
        case error.TIMEOUT:
            x.innerHTML = "A lekérés túl sokáig tart."
            break;
        case error.UNKNOWN_ERROR:
            x.innerHTML = "Hiba történt."
            break;
    }
}
 
window.onload = function() {
  getLocation();
};
</script>

A fenti kód lekéri a szélességi (position.coords.latitude) és hosszúsági (position.coords.longitude) koordinátákat. Ezeket a Google Maps API-jával akár térképre is helyezhetjük.

Te most ezen a környéken vagy:

 

Ez a kód Google Maps API-n keresztül egy térképen jeleníti meg az átadott koordinátákat. A maps API használatához csinálnod kell egy API kulcsot.

<script>
 
function getLocation() {
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(showPosition, showError);
    } else { 
        x.innerHTML = "Geolocation is not supported by this browser.";
    }
}
 
function showPosition(position) {
    var latlon = position.coords.latitude + "," + position.coords.longitude;
    var mapsrc = "https://www.google.com/maps/embed/v1/view?zoom=14&center="+latlon+"&
key=XXXXX";
 
    document.getElementById("mapholder").innerHTML = "<iframe class='aligncenter' width='600' height='450' frameborder='0' style='border:0' src='"+mapsrc+"' allowfullscreen></iframe>";	
 
}
 
window.onload = function() {
  getLocation();
};
</script>

Időjárás adatok lekérdezése

Létezik egy ingyenes OpenWeatherMap.org oldal, ahonnan API-n keresztül ingyen lekérdezhető a koordinátákra az éppen aktuális időjárás. Ezt az oldalt használja egyébként a Google Ads is, tehát a funkció az Adwordsben is elérhető!

Rendkívül részletes időjárási adatokat tudunk lekérdezni:

  • hőmérséklet (min / max)
  • napfelkelte / napnyugta
  • páratartalom
  • légnyomás
  • szél (sebesség / irány)
  • felhőzet (%)
  • eső (mm)
  • hó (mm)

Nálad most ilyen az idő:

Ahogy látszik a fenti adatok bőven elégségesek egy jó időjárás alapú kampány indításához.

Az időjárás adatokat ezzel a kóddal tudod lekérni API-n keresztül, miután csináltál magadnak saját API kulcsot:

<script>
 
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        var myObj = JSON.parse(this.responseText);
		var idojaras = myObj.weather[0]['main'];
		var reszletes = myObj.weather[0]['description'];
		var temp = myObj.main.temp;
 
        document.getElementById("weather").innerHTML = "Aktuális időjárás: " + idojaras +
 "<br>Részletesebben: " +reszletes+ "<br>Hőmérséklet: " +temp;
    }
};
xmlhttp.open("GET", "https://api.openweathermap.org/data/2.5/weather?
lat=XXX&lon=YYY&units=metric&lang=hu&APPID=XXXXXX", true);
xmlhttp.send();
 
</script>

About Csentes Zoltán

Pályafutásomat a ma már legnagyobb hazai online webáruháznál kezdtem az Extreme Digitalnál. 2 év után a legnagyobb hazai online hírportálnál az Indexnél (CEMP) dolgoztam 6 évig, majd 3 évet a Magyar RTL-nél töltöttem. 2017 óta az OMG-nél dolgozom, mint AdOps manager, de a SEO területen is egyre aktívabb vagyok.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöljük.