Vor kurzem wurde ich von einem Kunden gefragt, ob wir eine bessere Lösung haben, um Interessen von Onlineshop Besucher:innen mit Mautic zu tracken und somit die Follow-Up Kommunikation zu personalisieren und zu verbessern. Die meisten Leute bauen dazu überkomplexe Kampagnen mit hunderten Abfragen und Hirarchien, welche Produkte die wichtigsten sind. Das ist aufwändig und fehleranfällig. Darum habe ich ein kleines Script entwickelt, das ich dir hier zur Verfügung stelle.
Wie trackt man das Hauptinteresse bei vielen Produkten?
Wie schon erwähnt, kann das über Mautic mit dem URL Tracking und Kampagnen gemacht werden. Das braucht aber viele Wenn/Dann Abfragen, Segmente, eine komplexe Logik und vor allem: Rechenleistung, die wiederum deine Datenbank super busy hält und Mautic verlangsamt, oder sogar zum Stillstand bringt.
Stellen wir folgende These auf: Du sendest eine E-Mail an deine Liste mit verschiedenen Produkten. Welches Produkt ist das wichtigste bzw interessanteste für deine Leser:innen? Richtig: das erste, auf das geklickt wird. Natürlich nicht immer, aber wir gehen davon aus, dass das für den Moment das wichtigste Produkt ist. Das ist somit der “main-interest” alle anderen sind “additional-interests”.
Dynamisch Daten über das Mautic-Tracking-Script senden
Mit Mautic klappt das ganze auch bei unbekannten Kontakten. In Mautic werden diese als “Anonyme Kontakte” angelegt.
Um diese Infos zu Mautic zu senden, müssen wir keine Komplexen abfragen und vergleiche von Mautic machen lassen. Wir können einfach das Mautic-Tracking-Script erweitern. Die grundlegenden Infos, was du alles mit Mautic Tracking machen kannst findest du in der Mautic Dokumentation.
Schritt 1: Dynamisches Tracking Script erstellen:
Füge dieses Script vor </body> auf allen Produktseiten ein, die dynamische Interessen an Mautic mit Tags senden sollen.
WICHTIG: du musst in der 6. Zeile dden Wert ‘http(s)://yourmautic.com/mtc.js’ zu deinem Mautic ändern. Das Protokoll (http oder https) muss dazu auch richtig angegeben werden!
<script>
(function(w, d, t, u, n, a, m) {
w['MauticTrackingObject'] = n;
w[n] = w[n] || function() { (w[n].q = w[n].q || []).push(arguments) };
a = d.createElement(t), m = d.getElementsByTagName(t)[0];
a.async = 1; a.src = u; m.parentNode.insertBefore(a, m);
})(window, document, 'script', 'http(s)://yourmautic.com/mtc.js', 'mt');
function getLastPermalinkPart(url) {
const urlParts = url.split('/').filter(Boolean); // Filter empty parts
return urlParts[urlParts.length - 1].toLowerCase().replace(/[^a-z0-9-]/g, '-');
}
function trackInterestDynamically() {
const STORAGE_KEY = 'main_interest';
// Get the last part of the permalink without the domain and categories
const course = getLastPermalinkPart(window.location.pathname);
const mainTag = `main-interest-${course}`;
const secondaryTag = `additional-interest-${course}`;
let currentMainInterest = localStorage.getItem(STORAGE_KEY);
let tagUpdate;
if (!currentMainInterest) {
// No main interest set, so this page becomes the main interest
localStorage.setItem(STORAGE_KEY, course);
tagUpdate = `${mainTag}`;
} else if (currentMainInterest !== course) {
// This is a secondary interest
tagUpdate = `${secondaryTag}`;
} else {
// This page is already marked as the main interest
tagUpdate = mainTag; // Retain main interest tag
}
// Send the updated tag information to Mautic
mt('send', 'pageview', { tags: tagUpdate }, {
onload: function() {
console.log('Tag tracking loaded successfully.');
},
onerror: function() {
console.error('Tag tracking failed.');
}
});
}
// Call this function once on each course page
trackInterestDynamically();
</script>
Generell gilt, dass du nur und immer und ausschließlich 🤯 https verwenden solltest. Wenn du das nicht hast oder nicht weißt wie du ein SSL-Zertifikat für dein Mautic bekommst, wende dich an uns (rechts unten im Chat) oder hoste dein Mautic gleich bei hartmut.io zB. mit dem PURE Plan, falls du den Rest selbst machen kannst/möchtest.
Schritt 2: Doppelte Script Auslösung vermeiden
Damit dein Mautic Tracking nicht doppelt oder dreifach läuft musst du dein normales Mautic Script auf den Produktseiten abschalten. Es darf nur einmal laufen, sonst bekommst du falsche Zahlen in dein Mautic und freust dich über extrem hohen Traffic, obwohl es gar nicht stimmt.
Falls du dein Mautic Tracking Script über den Google Tag Manager eingebunden hast, dann kannst du einfach den Trigger im Tag Manager ändern und nur bei Pageviews Page Path “does not start with” https://deineshopdomain.com/produkte einstellen. Wenn du dazu ein genaues Tutorial brauchst, schreib es gerne in die Kommentare.
Schritt 3: Dynamisches Interesse Tagging testen
Sobald du dein Script richtig eingebunden hast, kannst du in einem Inkognito Fenster testen. Gehe dazu einfach auf deine Seite und rufe dann ein Produkt nach dem anderen auf. Das erste Produkt löst den main-interest-mit-produkt-a Tag aus, das zweite den additional-interest-mit-produkt-b, das dritte den additional-interest-mit-produkt-c und so weiter.
Danach gehst du in dein Mautic auf Kontakte klickst rechts oben auf Anonyme Kontakte und suchst den Kontakt mit deiner IP Adresse. Klicke darauf und in der rechten Sidebar deines Kontakts sind die Tags enthalten. Jeder weitere Klick auf ein Produkt fügt einen weiteren Tag hinzu.
Nutze die erzeugten Daten
Was bringt dir ein unglaublicher Berg an Infos und Daten, wenn du damit nichts machst? Eben. Wenn du Daten auf diese Weise sammelst, musst du das in deiner Datenschutzerklärung erklären: Wofür und wie und warum du diese sammelst. Zusätzlich solltest du den Vorgang in deinem Datenverarbeitungsverzeichnis dokumentieren. Und am wichtigsten: Baue eine Kampagne, mit der du die Kontakte danach weiter bearbeitest. Mit Interesse-Tracking kannst du mit geringem Aufwand die Ansprache und die Kommunikation zu deinen potenziellen Kund:innen personalisieren und relevanter gestalten. Wenn du Hilfe damit brauchst, gib Bescheid. Wir sind gerne für dich da und bauen die Kampagnen für dein E-Mail Marketing, oder betten dieses Script in deine Seite ein.