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 vom Server des Advertisers an das System zurückgespielt werden.

Diese ID (im folgenden auch "emid" genannt) kann im Frontend des Systems an den Clicklink angehangen werden; siehe dazu hier: https://easy-m.freshdesk.com/support/solutions/articles/48000985565-kampagnen-kontrollzentrum

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

Conversion Aufruf - Serversided

https://DOMAIN*/trck/ebasket/?json=[{"campaign_id":"CAMPAIGN_ID","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"}}]&currency=EUR

JSON-Aufbau

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

Variablenbeschreibung Basketitem

VARIABLE

BESCHREIBUNG

CAMPAIGN_ID*

Hier wird die Kampagnen ID hinterlegt.

TRIGGER_ID*

Hier wird die Trigger ID hinterlegt.

TOKEN*

Hier wird die Bestellnummer / Order ID hinterlegt.

EMID*

Wird mit dem Wert des Parameters emid befüllt, welcher von easy.affiliate über den Clicklink an die Landingpage übergeben wird. Dieser Wert ist für die Attribution sehr wichtig, da ansonsten keine Customer Journey vorliegt. 

AMOUNT*

Wird mit der Anzahl ersetzt, wie oft das entsprechende Produkt gekauft wurde.

PRICE*

Wird mit dem NETTO Preis des einzelnen Produkts befüllt. Das Trennzeichen für Euro und Cent ist der Punkt ('.').

ARTICLE_NUMBER*

Wird mit der  jeweilige Produkt-ID befüllt.

PRODUCTNAME*

Wird mit dem Produktnamen befüllt.

CATEGORY*

Hier wird die Produktkategorie hinterlegt.

ADDITIONAL

Unter dem Parameter “additional” kann ein weiteres Array mit weiteren, für den Kundencase relevanten, Werten eingefügt werden.

Variablenbeschreibung Order

VARIABLE

BESCHREIBUNG

currency

Übergabe der Währung

Die mit * gekennzeichneten Werte sind mandatory.

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_id":"CAMPAIGN_ID","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_id":"CAMPAIGN_ID","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_id": "CAMPAIGN_ID",
    "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_id' => 1,
    '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' => [
        'vouchercode' => $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.