Skip to main content

Umsetzung im Falle von campaign_alias

Es ist möglich, eine Transaktion mit Basket über einen Serversided Trackingaufruf in das Partnerprogramm einzuspielen. Dafür stellt das System von easy.MARKETING einen Aufruf zur Verfügung, welcher mit entsprechenden Daten befüllt werden muss. Da es sich um ein serverseitiges Tracking handelt, muss die trackingrelevante ID des Nutzers (emid) vom Server des Advertisers an das System zurückgespielt werden.

Der Basket wird als Array im JSON-Format im GET-Parameter “json=” an den Endpoint. Dazu stellen wir im unteren Bereich der Dokumentation ein Beispiel-Snippet in PHP zur Verfügung.

Wichtig ist, dass das Basket-Array pro bestellter Position mit den Daten der Position befüllt wird.

Endpoint

https://SUB-DOMAIN/trck/ebasket/

Beispiel-Trackingaufruf

https://DOMAIN*/trck/ebasket/?json=[{"campaign_alias":"CAMPAIGN_ALIAS","trigger_id":"TRIGGER_ID","token":"TOKEN","emid":"EMID","amount":"AMOUNT","price":"PRICE","article_number":"ARTICLE_NUMBER","productname":"PRODUKTNAME","category":"CATEGORY","additional":{"VARIABLE":"VALUE","VARIABLE2":"VALUE2"}}]

JSON-Aufbau

[
  {
    "campaign_alias": "CAMPAIGN_ALIAS",
    "token": "TOKEN",
    "trigger_id": "TRIGGER_ID",
    "action_id": "EMID",
    "amount": "AMOUNT",
    "price": "PRICE",
    "article_number": "ARTICLE_NUMBER",
    "productname": "PRODUCT_NAME",
    "category": "CATEGORY",
    "additional": {
      "vc": "WINTER20",
      "zusatzinfo": "additional_1"
    }
  }
]

Variablenbeschreibung

Variable Pflichtfeld Beschreibung
campaign_id Kampagnen-Alias
trigger_id Trigger-ID
token Bestellnummer / Order ID
action_id EMID (eindeutige Nutzer-ID, die über den Clicklink übergeben wird)
amount Anzahl, wie oft das Produkt gekauft wurde
price Netto-Preis des einzelnen Produkts (Dezimaltrennzeichen = Punkt .)
article_number Produkt-ID
productname Produktname
category Produktkategorie
additional Optionales Key-Value-Array mit weiteren Informationen (z. B. Gutscheincode, Kundentyp, Zusatzinfos)

Gutscheinimplementierung

Bei vielen Shops werden den Usern Gutscheine angeboten um Rabatte zu gewähren. Oftmals werden diese Gutscheine mit in die Berechnung von Vergütungen eingerechnet.

Rabattgutscheine:

Für Rabattgutscheine wird ein zusätzliches Basketitem innerhalb des JSON-Parametes hinzugefügt. Der abzuziehende Betrag wird als negativer turnover hinterlegt.

Beispiel-Trackingaufruf mit Gutscheinitem

https://SUB-DOMAIN*/trck/ebasket/?json=[{"campaign_alias":"CAMPAIGN_ALIAS","trigger_id":"TRIGGER_ID","token":"TOKEN","action_id":"EMID","amount":"AMOUNT","price":"PRICE","article_number":"ARTICLE_NUMBER","productname":"PRODUKTNAME","category":"CATEGORY","additional":{"VARIABLE":"VALUE","VARIABLE2":"VALUE2"}},{"campaign_alilas":"CAMPAIGN_ALIAS","trigger_id":"TRIGGER_ID","token": "TOKEN","emid":"","amount":"AMOUNT","price":"DISCOUNTPRICE","article_number":"VOUCHER_NUMBER","productname":"VOUCHER_NAME","category":"VOUCHER_CATEGORY","additional":{"VARIABLE":"VALUE","VARIABLE2":"VALUE2"}}]

JSON-Aufbau eines Gutscheinitems

[
  {
    "campaign_alias": "CAMPAIGN_ALIAS",
    "token": "TOKEN",
    "trigger_id": "TRIGGER_ID",
    "action_id": "EMID",
    "amount": "AMOUNT",
    "price": "DISCOUNTPRICE",
    "article_number": "VOUCHER_NUMBER",
    "productname": "VOUCHER_NAME",
    "category": "VOUCHER_CATEGORY",
    "additional": {
      "VARIABLE": "VALUE",
      "VARIABLE2": "VALUE2"
    }
  }

Implementierung in PHP

Code-Beispiel in PHP, welches auf der Bestellabschlussseite integriert werden kann:

<?php
$basket = [];
$positions = $Shopsystem->getOrderedPositions(); // Alle bestellten Positionen aus dem Shop-System
$emid = $Shopsystem->getEmid(); // EMID aus dem Shop-System
foreach ($positions as $position) {
  // für jede bestellte Position
  $basketItem = [
    'campaign_alias' => Kampagnen-Name,
    'trigger_id' => 1,
    'token' => $Shopsystem->ordernumber, // Bestellnummer aus dem Shopsystem
    'action_id' => $emid, // EMID, welche vom easy.MARKETING-System im Click übergeben wurde
    'amount' => $Shopsystem->positionAmount, // Bestellte Anzahl der Position
    'price' => $Shopsystem->positionPrice, // Preis der bestellten Position
    'article_number' => $Shopsystem->articleNumber, // Artikelnummer der bestellten Position
    'productname' => $Shopsystem->productName, // Produktname der bestellten Position
    'category' => $Shopsystem->category, // Kategorie der bestellten Position
    'additional' => [
        'vc' => $Shopsystem->vouchercode, // Beispiel: Verwendeter Gutscheincode bei der Bestellung
        'customerType' => $Shopsystem->customerType, // Custom-Values, welche frei befüllbar sind
        // ....
      ]
    ];
  $basket[] = $basketItem;
}
// Aufbau der Tracking-URL
$endpoint = 'https://DOMAIN/trck/ebasket/';
$getParameter = [
    'json' => json_encode($basket),
];
$trackingUrl = $endpoint . '?' . http_build_query($getParameter);
// Aufruf der Tracking-URL via wget; hier kann auch jeder andere Client genutzt werden.
exec('wget -O /dev/null"' . $trackingUrl . '"');
Wenn andere currency als EUR verwendet wird, kann diese als getParameter eingefügt werden. 
Beispiel:
    'json' => json_encode($basket),
    'currency' => 'CHF' 

Dabei entspricht das Object $Shopsystem dem Shop des Advertisers, welcher die Werte bereitstellt.