Dokumentation

Die Campaign Library liefert neben den Funktionen welche automatisch durch das Einbinden des Skripts getriggered werden noch zusätzlliche Möglichkeiten auf diese hier kurz eingegangen werden soll.

Fallback-CID

Die Bibliothek ermöglicht den Einsatz von Default-CID Werten. Sollte ein Nutzer auf eine Seite mit eingebundener Campaign Lib gelangen ohne irgendwelche CID Werte in der URL oder im Cookie mit sich zu bringen kann eine Standard-CID definiert werden welche in diesem Falle genutzt wird.

Die Default-CID wird wie auf der Startseite beschrieben per globalem Window LxoCampaignDefaults Objekt definiert. Es wird hier zwischen bei verschiedenen Defaults unterschieden:

Generell macht es Sinn eine domainspezifische Fallback-CID mit der Initialisierung des Skript zusammen auf jeder Seite wo die Funktionalität der Campaign-Lib gewünscht ist zu setzen. Wird zusätzlich eine URL-spezifische Fallback-CID benötigt kann dies durch eine zusätzliche Definition ermöglicht werden (s. Beispiel).

Beispiel

//Initialisierung und setzen der Domainspezifischen Fallback-CID
<script src='https://app.lexoffice.de/lxo-campaign/lxoCampaign.js'></script>
<script type='text/javascript'>
  window.LxoCampaignDefaults = window.LxoCampaignDefaults || {};
  window.LxoCampaignDefaults.domainCid = 'domain-fallback-123';
</script>
//
// Eventuell weiteres HTML
//
//Setzen der URL-spezifischen Fallback CID
<script type='text/javascript'>
  window.LxoCampaignDefaults = window.LxoCampaignDefaults || {};
  window.LxoCampaignDefaults.pageCid = 'page-fallback-123';
</script>
    

Fallback-Tabelle

Die Fallback-CID kann regelbasiert über eine Fallback-Tabelle ermittelt werden. Die Tabelle muss dabei als JavaScript-Array vor dem Laden der Campaign-Library unter window.lxoCampaignFallbackTable bereitgestellt werden.

Die Regeln werden der Reihe nach ausgewertet — der erste Treffer gewinnt. Folgende Priorität gilt insgesamt:

  1. ?fcid= URL-Parameter (höchste Priorität)
  2. lxCmpFllb Cookie (zuvor gespeicherte Fallback-CID)
  3. Fallback-Tabelle (regelbasierte Auflösung)
  4. Legacy-Defaults (pageCid / domainCid)

Regeltypen

1. URL — einzelner Parameter mit Wert
Trifft zu, wenn die URL ?searchparam=value enthält.

{ "source": "URL", "searchparam": "em_src", "value": "affiliate", "cid": "lxappaff" }

2. URL — einer von mehreren Parameternamen
Trifft zu, wenn mindestens einer der aufgelisteten Parameter in der URL vorhanden ist (Wert egal).

{ "source": "URL", "searchparams": "gclid,msclkid,dclid,wbraid,gbraid,gclsrc,yclid", "cid": "lxappsea" }

3. REFERER — Domain-Liste
Trifft zu, wenn der HTTP-Referrer-Hostname in der kommaseparierten Liste enthalten ist. Mit "domains": "*" wird jeder nicht-leere Referrer abgefangen.

{ "source": "REFERER", "domains": "google.com,google.de,bing.com,duckduckgo.com", "cid": "lxappseo" }
{ "source": "REFERER", "domains": "*", "cid": "lxappref" }

4. DIRECT — Standard-Fallback
Trifft zu, wenn keine andere Regel greift. Pflichtfeld und muss immer die letzte Regel sein.

{ "source": "DIRECT", "cid": "lxappdir" }

Validierungsregeln

Die Library validiert die Tabelle beim Laden. Fehler werden geworfen bei:

CID-Referenz

Marketingkanalwww.lexware.deoffice.lexware.deapp.lexware.de
Affiliatelxwdeafflxodeafflxappaff
Kampagnelxwdecmplxodecmplxappcmp
Paid Searchlxwdesealxodesealxappsea
Paid Sociallxwdepsmlxodepsmlxapppsm
Social Medialxwdesomlxodesomlxappsom
E-Maillxwdenllxodenllxappnl
Displaylxwdedislxodedislxappdis
Retargetinglxwderetlxoderetlxappret
Videolxwdevidlxodevidlxappvid
Printlxwdeprilxodeprilxapppri
Kooperationlxwdekoolxodekoolxappkoo
Produktelxwdeprolxodeprolxapppro
Organischlxwdeseolxodeseolxappseo
KIlxwdeailxodeailxappai
Referrerlxwdereflxodereflxappref
Direktlxwdedirlxodedirlxappdir

Beispiel — Seitenintegration

<!-- 1. Fallback-Tabellen-Artefakt (domainspezifisch) vor der Campaign Library laden. In diesem Fall wird die Tabelle via JavaScript eingebunden. Auf anderen Seiten kann dies serverseitig gerendert werden oder anderweitig zur Verfügung gestellt werden. 
      Wichtig ist nur, dass die Tabelle als JavaScript-Array vor dem Laden der Campaign-Library-Script zur Verfügung steht. In diesem Fall für Lexware.de wird -->
<script src="path/to/fallbackTableAppLexwareDe.js"></script>

<!-- 2. Campaign Library -->
<script src='https://app.lexoffice.de/lxo-campaign/lxoCampaign.js'></script>

Die Library liest window.lxoCampaignFallbackTable automatisch beim Init aus. Keine weitere Konfiguration notwendig.

Forced CID

In manchen Fällen ist es sinnvoll Kampagnenparameter zu erzwingen. Für diesen Fall bietet die Campaign Lib die LxoCampaignEnforced

Das globale Window Objekt funktioniert analog zu den LxoCampaignDefaults. Ist LxoCampaignEnforced gesetzt, ist es gleichgültig ob ein Nutzer bereits Kampagnendaten mit sich trägt oder Fallbacks gesetzt sind, es werden immer die forcierten Werte genutzt. Die Kampagnenparameter (cid|pid|pdata) müssen nicht alle gesetzt werden. Es kann auch zB nur die pid gesetzt werden.

Beispiel

//Kampagnenparameter erzwingen
<script type='text/javascript'>
  window.LxoCampaignEnforced = window.LxoCampaignEnforced || {};
  window.LxoCampaignEnforced.cid = 'enforced-cid';
  window.LxoCampaignEnforced.pid = 'enforced-pid';
  window.LxoCampaignEnforced.pdata = 'enforced-pdata';
</script>

Debuggen der Campaign Lib

Die Campaign Lib bietet zwei wertvolle Tools zum Debuggen. Beide können über die JS Console des Browsers genutzt werden.

  1. Logging: Um die Ausgabe des Logs über die Console zu aktivieren einfach lxoCampaignEnableLog als Parameter an die URL hängen zB https://www.lexoffice.de/funktionen/?lxoCampaignEnableLog
  2. Aktuelle Kampagnendaten abrufen: Über den Befehl LxoCampaign.getCampaignData(); in der JS Console können die aktuell genutzten Kampagnenparameter abgerufen werden.