

Lösung: Parameter aus dem Seitenpfad entfernen
Zum Glück sind wir nicht dazu verurteilt, tatenlos dabei zuzusehen, wie unser Seitenbericht bis ins Unendliche aufgeblasen wird. Wir stellen hier zwei Varianten vor, um diesen blinden Passagier wieder von Bord zu bekommen. Die erste Variante ist zwar schneller und einfacher, hat aber auch Nachteile. Die zweite Variante hingegen erfordert ein bisschen mehr an Aufwand, ist aber nachhaltiger als die erste Variante.1. Variante: Url Query Parameter ausschließen
Für eine schnelle Lösung bedienen wir uns der Url Query Filter in Google Analytics. Diese befinden sich in den Einstellungen für die jeweilige Datenansicht. Im Feld “Exclude URL Query Parameters” ergänzen wir den fbclid-Parameter bzw. fügen ihn als ersten Parameter ein.
- Die Einstellung muss für jede Datenansicht einzeln gemacht werden, was besonders für größere Websites einen zusätzlichen Aufwand bedeutet.
- Die Seitenpfade gelangen zuerst mit den Parametern in die Google Analytics Property und werden erst für die Ansicht gefiltert. Das zerstört wiederum den Seitenbericht in der Backupansicht, in der keine Filter angewendet werden.
2. Variante: fbclid – Parameter im GTM entfernen
Meistens wird Google Analytics nicht nativ, sondern über ein Tag Management System wie z. B. den Google Tag Manager eingebunden haben. Dabei schickt ein Google Analytics Tag den Seitenaufruf an die Google Analytics Property. Das ermöglicht es, den fbclid-Parameter zu entfernen, bevor der Seitenaufruf geschickt wird. Folglich kommt der bereinigte Seitenpfad in Google Analytics in allen verwendeten Datenansichten in derselben Form an. Zur Umsetzung basteln wir uns hierzu zuerst eine Variable vom Typ “Custom Javascript”, mit der wir den fbclid-Parameter aus dem Seitenpfad bzw. aus der location entfernen.

function () {
var page = window.location.href;
try {
var cleanPage = page.replace(/fbclid=[^&]+/,"").replace(/&&/,"&").replace(/(\?|\&)$/, "").replace(/\?&/, "?");
return cleanPage;
}
catch(error){
return page;
}
}
Die Funktion entfernt den fbclid-Parameter sowohl am Beginn, in der Mitte als auch am Ende der an die Url angehängten Parameter. Zwar wird er in allen bisher beobachteten Fällen an das Ende der Url gehängt, sicherheitshalber fangen wir hier aber alle möglichen Varianten ab. Schließlich wollen wir ja nur den fbclid-Parameter aus der Url entfernen und nicht etwa etwaige Utm-Parameter.
Mit Hilfe dieser Variable passen wir jetzt die location an. Aus ihr bezieht der Google Analytics Tag bei Seitenaufruf den Seitenpfad, der an die Google Analytics Property gesendet wird. Das können wir für jeden Google Analytics Tag einzeln machen (wie hier im Beispiel beim Pageview-Tag). Es ist allerdings auch möglich die Einstellung nur einmal in der Google Analytics Settings Variable zu machen, die für die Google Analytics Tags verwendet wird. In beiden Fällen wollen wir das Feld “location” (More Settings > Fields to Set) mit dieser Variable füllen.

Wir klicken also auf “+Add Field”, setzen als Feldname “location” und als Wert unsere Variable (Klick auf das Bausteinsymbol und die zuvor erstellte Variable auswählen). Dadurch wird die location durch unser Javascript gejagt und von der Last des fbclid-Parameters befreit, bevor der Pfad an Google Analytics geschickt wird. Wenn man den Google Tag Manager Container jetzt neu veröffentlicht, ist der blinde Passagier “fbclid” damit ein für allemal verschwunden. Viel Spaß beim ausprobieren!
Vielen Dank Fabian für diesen perfekten Artikel zum Thema facebook fbclid los werden.
Mit 2 Varianten genau dargestellt was zu tun ist, top!!! Besten Dank, gerne mehr!
Lieber Marcel,
sehr gerne, freut mich, dass dir der Beitrag weitergeholfen hat!
Hi Fabian, Danke dir für das Snippet. Ich versuche damit auch gleiche andere Query parameter loszuwerden, auch PII.
var cleanSearch = search.replace(/(fbclid|email)=[^&]+/g,””).replace(/&&/,”&”).replace(/(\?|\&)$/, “”).replace(/\?&/, “?”)
Eine Frage habe ich aber noch; könntest du bitte kurz die einzelnen replaces erklären.
.replace(/&&/,”&”) – fehlerhaftes doppeltes &
.replace(/(\?|\&)$/, “”) – trailling ? oder &
.replace(/\?&/, “?”) – ?& auch eine Fehlerberichtigung.
Lieber Eduard,
Du hast dir die Frage selbst schon richtig beantwortet :-)! Die replaces fangen mögliche nicht erwünschte Resultate des fbclid-Entfernens ab. Genauer und als Antwort auf die von dir gelisteten:
.replace(/&&/,”&”) – fehlerhaftes doppeltes & — ist genau das!
.replace(/(\?|\&)$/, “”) – trailling ? oder & — genau, wenn url mit ? oder mit & endet wird das entfernt
.replace(/\?&/, “?”) – ?& auch eine Fehlerberichtigung. — wenn in url ?& vorkommt wird das durch ein ? ersetzt