Startseite » Blog » Digital Analytics-E-Commerce

24.07.2017

Auswertungen zur internen Suchfunktion in Google Analytics sind hilfreich bei der Optimierung des eigenen Angebots. Google selbst macht dazu in der Hilfe gute Vorschläge zu typischen Fragen, die die Qualität der Suchfunktion und das Verhalten von Benutzern betreffen, die die Suche nutzen. Selbst ein einfacher Blick auf die meist gesuchten Begriffe und ein Abgleich mit den Treffern und gezieltes Anreichern der Produktdaten für bessere Treffer kann enorme Auswirkungen für den Erfolg eines Shops haben.

Im Fall eines mit Collmex betriebenen Shops ist die Auswertung der Suche allerdings ohne entsprechende Anpassungen unmöglich. Wie dies beispielhaft korrigiert werden und die Suchauswertung in Analytics auch bei Collmex Shops genutzt werden kann, zeigt dieser Beitrag.

Bestehende Hürden

Damit die Suchauswertung in Analytics genutzt werden kann, müssen Suchanfragen in Form eines fest zugewiesenen Parameters in den URLs der Suchergebnisseiten zu finden sein, welche über den Trackingcode an Analytics übertragen werden. Im Collmex Shop stehen der Verwendung gleich zwei Probleme im Weg: Erstens wird der Suchbegriff nicht als zugewiesener Parameter, sondern direkt an die URL der Suchseite angehängt und zweitens stecken die Suchergebnisse in einem iFrame.

Das URL-Problem

Sucht man in einem Collmex Shop nach "analytics", sieht die resultierende URL so aus:
beispielshop.de/suche.html?analytics

Kommt eine solche URL in Analytics an, sieht diese im Seitenbericht zudem noch leicht verändert aus:
/suche.html?analytics=

Damit Analytics mit den URLs etwas anfangen kann, müsste eine Zuweisung des Suchbegriffs zu einem Parameter aufweisen, der stets und nur für Suchanfragen verwendet wird. Besser wäre also z. B.
beispielshop.de/suche.html?s=analytics

Um dies zu korrigieren, muss also entweder (z. B. bei Verwendung des Tag Managers ohne Anpassung der Shop-Templates möglich) die URL schon vor dem Übertragen an Analytics angepasst werden, oder es müssen Filter genutzt werden. Die hier vorgestellte Lösung (siehe unten) basiert auf Filtern, so dass diese für jede Form der Implementierung (alter oder neuer Code bzw. via Google Tag Manager) genutzt werden kann.

Das Frame-Problem

Wird die Seite suche.html direkt aufgerufen und erst dort die Suchanfrage eingegeben oder wird die Suche durch Eingabe eines neuen Begriffs oberhalb von eingeblendeten Suchergebnissen verfeinert, passiert alles innerhalb des iFrames, der die Suchergebnisse und das Suchfenster vom Collmex-Server einblendet. Man kann zwar auch mittels einer angepassten eigenen frame_template.txt im Shop-Template dafür sorgen, dass hier entweder in den Suchseiten oder auch in allen Frame-Seiten ein Trackingcode ausgespielt wird, der eine theoretische Messung dieser Aufrufe erlaubt, aber erstens kommen in diesem Fall für eine Suchanfrage über das "normale" Suchformular des Templates zwei Seitenaufrufe zustande und zweitens stammen die Hits aus dem iFrame vom Collmex-Server, was mit allen Problemen behaftet ist, die das Tracking verschiedener Domains in einer Property mit sich bringen: Es macht eine Menge Arbeit bei der Implementierung oder sorgt für eher unsaubere Daten. Hier sieht man das Ergebnis einer solchen doppelten Implementierung:

Suchanfragen in Analytics

Der erste Eintrag stammt aus dem iFrame vom Collmex-Server und der zweite vom Trackingcode aus dem normalen Template, der für alle Seiten des Shops genutzt wird und von der beinhaltenden Seite "suche.html" stammt.

Die Lösung

Mit den folgenden Schritten lassen sich sowohl die URLs der Suchanfragen "reparieren" und für Suchauswertungen nutzen, als auch ein durchgehendes und lückenloses Tracking der Suchanfragen ohne Doubletten herstellen.

Suchbegriffe in Analytics nutzbar machen

Um die Suchbegriffe in die Webanalyse zu bekommen, können Filter in der entsprechenden Datenansicht genutzt werden. Normalerweise aktivieren Sie zur Nutzung der Suchauswertungen unter "Verwaltung - Einstellungen der Datenansicht" das "Site Search-Tracking". Im Fall von Collmex funktioniert dieser Weg aber nicht und so ist es egal, was Sie hier einstellen. Denn selbst wenn wir die URLs ggf. per Filter korrigieren (siehe unten) und mit einem Suchparameter wie z. B. "s" versehen, ist es für die Auswertung der Suchfunktion leider schon zu spät. Analytics extrahiert die Suchbegriffe bereits vor der Verarbeitung von Filtern 🙁 Eine Korrektur der URLs allein ist also - zumindest per Filter - keine Lösung.

Deshalb wird ein Filter erstellt, der den Suchbegriff aus der URL ausliest und selbst direkt in das Feld für den Suchbegriff einträgt. Es handelt sich um einen erweiterten Filter, der wie folgt aufgebaut ist:

Filter zur Extraktion des Suchbegriffs

Als Extraktion wird ^\/suche\.html\?(.+)= genutzt, der extrahierte Wert $A1 wird als Suchbegriff genutzt. Damit landet der Suchbegriff bereits auf Umwegen im gewünschten Feld und kann trotz der ungewöhnlichen Form der URLs unter "Verhalten - Site Search" ausgewertet werden.

Erklärungs-Einschub für Nerds
Wer sich über das "=" am Ende wundert... Wie oben in er Abbildung der Seiten aus Analytics zu sehen ist, "normalisiert" Google Analytics die URL offenbar "aus der Not heraus"; weil der Suchbegriff keinem Parameter zugewiesen ist und so selbst zum Parameter wird, dem zumindest ein "=" angehängt wird, um ihn (ohne zugewiesenen Wert) in einen gültigen URL-Bestandteil zu verwandeln.

Optional: URL anpassen

Möchte man nun entweder in Seitenberichten wahlweise eine "schön geschriebene" URL mit konstantem Suchparameter haben oder ggf. auch den Suchparameter nun aus den URLs entfernen, um alle Aufrufe der Suchfunktion auf der Seite /suche.html zu konsolidieren, kann wiederum mit Filtern arbeiten. In beiden Fällen wird die gleiche Extraktion wie oben genutzt. Zur Optimierung der URL mit Erhalt des Suchbegriffs wird Ausgabe im Feld "Anforderungs-URI" mit dem Wert /suche.html?s=$A1 belegt, wenn der Suchparameter "s" heißen soll.

Für das Eliminieren des Suchbegriffs dient ein ähnlicher Filter. Als Suchzeichenfolge dient wieder die o. a. Extraktion, als Ausgabe wird die "Anforderungs-URI" mit dem Wert /suche.html überschrieben, so dass die "Suchanfragen-Parameter" daraus verschwinden.

Filter zur Entfernung des Suchbegriffs

Wichtig:: Wer zusätzlich zur Extraktion des Suchbegriffs wie hier gezeigt die URLs verbessern oder konsolidieren will, muss auf die Reihenfolge achten. Die Extraktion muss auf jeden Fall vor irgendwelchen Veränderungen der URLs stattfinden, weil das Muster sonst nicht mehr greift.

Vollständige Messung ohne Doubletten

Um nun jede Suchanfrage zu messen - unabhängig davon, ob sie schon an die Suchseite übergeben oder erst dort eingetragen wurde - wird das Template des Shops angepasst, welches den Inhalt der Suchseite bestimmt. Ein separates Tracking der Frame-Inhalte ist hierbei nicht vorgesehen. Stattdessen werden die Suchanfragen nicht mehr wie in der Standardversion direkt an den Collmex-Server gesendet, sondern zuerst an die Suchseite weitergegeben, die den Parameter dann beim Aufruf an die Webanalyse überträgt.

Dazu wird das Original des Frame-Templates unter http://www.collmex.de/templates/frame_template.txt abgerufen, auf dem eigenen Server in einer angepassten Fassung bereitgestellt und im Template verwendet - genauso, wie Sie es bereits i. d. R. mit der Datei customfields.txt des Templates gemacht haben. Suchen Sie nach dem Abschnitt zur Gestaltung der Suchseite im Template. Er sieht in unveränderter Form so aus:

/*Suchseite*/
Search [
$FrameHead$
<body style="background:$background_main$;">
<div class="lefttext">

<h1 class="highlight">Suchen im Shop</h1>
<br>
$Message$
$FormBegin$

<p><input type="text" name="SearchTerm" value="$SearchTerm$">
<input type="submit" value="Suchen" name="Search">
</p>
<p><small>Suchen Sie nach Artikelnummer, Suchbegriff oder Beschreibung.</small></p>

$FormEnd$

$SearchResultProductList$

</div>
</body>
]

Mit folgenden Anpassungen sogen Sie für eine durchgängige Nutzung der Suchseite:

/*Suchseite*/
Search [
$FrameHead$
<script>
function loadSearch() {
var sb = document.getElementById("suchbegriff").value ;
if (sb != "") window.top.location.href = 'https://www.optimum-direkt.de/suche.html?' + sb;
}
</script>

<body style="background:$background_main$;">
<div class="lefttext">

<h1 class="highlight">Suchen im Shop</h1>
<br>
$Message$

<p>Suchen Sie nach Artikelnummer, Suchbegriff oder Beschreibung.</p>
<form onsubmit="loadSearch();return false;">
<p><input type="text" name="SearchTerm" value="$SearchTerm$">
<input type="button" onclick="javascript:loadSearch();return false;" value="Suchen" name="Search">
</form>

$SearchResultProductList$

</div>
</body>
]

Änderung veröffentlichen

Ist die Datei angepasst, auf den eigenen Server hochgeladen und verweist die Definition des verwendeten Shop-Templates unter "Verwaltung - Shop und Webauftritt - Templates" nun auf diese Fassung, genügt das Hochladen einer beliebigen Seite aus dem Webauftritt, um den Suchframe zu aktualisieren. Es ist kein Upload des ganzen Shops erforderlich. Danach sollte sowohl beim Aufruf der Suche über das Suchfeld aller Seiten als auch bei Eingabe eines Suchbegriffs auf der Suchseite der jeweilige Suchbegriff in der Adresszeile des Browsers als Parameter angehängt sein. Damit wird er auch bei jeder Suchanfrage an Analytics durch den Trackingcode übertragen, der in der suche.html vorhanden ist.

Ab sofort lohnt sich ein regelmäßiger Blick in die Auswertungen zur Suchfunktion in Google Analytics, um Lücken in den Beschreibungen der bestehenden Produkte zu schließen... oder ggf. auch oft nachgefragte, aber bisher nicht im Shop angebotene Produkte in das Portfolio aufzunehmen.



Warum mit uns?

Langjährige Erfahrung
im Onlinemarketing:
Suchmaschinen-Marketing
erfolgreich seit 1996

Angebot anfordern

Alle Kontenmanager unserer Google AdWords Agentur sind qualifizierte und durch Google zertifizierte AdWords Experten.

Faire Festpreise
jederzeit kündbar
seriöse Optimierung.