Mit dem folgenden Beispiel-Script wird der Währungskurs USD/EUR über die Yahoo API asynchron mit Hilfe von AJAX im JSON Format abgefragt. Nach Eintreffen der Währunugsdaten wird ein GTM Event mit der Bezeichnung "exchangeRate" ausgelöst, der die Währungsdaten als "exchangeRateInfo" Parameter im DataLayer übergibt.

<script>
  
    var yahooUrl = 'https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20csv%20where%20url%3D%22http%3A%2F%2Ffinance.yahoo.com%2Fd%2Fquotes.csv%3Fe%3D.csv%26f%3Dnl1d1t1%26s%3Dusdeur%3DX%22%3B&format=json';

    var myXMLHttpRequest = null;

    if(window.XMLHttpRequest){
      myXMLHttpRequest = new XMLHttpRequest();
    }
    else if(window.ActiveXObject){
      try{
        myXMLHttpRequest = new ActiveXObject("Msxml2.XMLHTTP.6.0");
      } catch(e){
        try{
          myXMLHttpRequest = new ActiveXObject("Msxml2.XMLHTTP.3.0");
        }
        catch(e){}
      }
    }

    myXMLHttpRequest.open('GET', yahooUrl, true);
    myXMLHttpRequest.onreadystatechange = function(){    
      if(this.readyState == 4){
        if(this.status == 200){
         dataLayer.push({'event':'exchangeRate', 'exchangeRateInfo':JSON.parse(this.responseText)});
        }
      }
    }    
    myXMLHttpRequest.send();

  </script>