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","attribution":"ATTRIBUTION", "additional":{"VARIABLE":"VALUE",”VARIABLE2”:”VALUE2”}}]

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

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.

ATTRIBUTION

Hier wird die Attribution der Order hinterlegt. Der Wert wird im Dezimalformat und einem Punkt als Trennzeichen übergeben. (50% = 0.50)

ADDITIONAL

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

Die mit * gekennzeichneten Werte sind mandatory.

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 . '"');

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