Gibt es eine Möglichkeit, die Abfrageparameter als Cookie in Nginx zu schreiben?

Gibt es eine Möglichkeit, die Abfrageparameter als Cookie in Nginx zu schreiben?

Ich möchte fragen, ob es eine Möglichkeit gibt, die Abfrageparameter als Cookie einer bestimmten URL festzulegen?

Momentan habe ich Probleme mit Varnish und Nginx, weil es die UTM-Parameter entfernt hat, was ein Problem mit dem GA verursacht. Ich kann den Code, der die UTM-Parameter entfernt, nicht entfernen, da er den Varnish-Cache überfluten würde. Also dachte ich daran, die UTM-Parameter abzurufen und sie als Cookie aus der Nginx-Konfiguration festzulegen

Jede Hilfe wäre willkommen

Vielen Dank

Antwort1

Sie können Google Marketing-URL-Parameter ganz einfach aus URLs entfernen, die Varnish vom Backend abruft, wiehier beschrieben:

if (req.url ~ "(\?|&)(gclid|utm_[a-z]+)=") {
    set req.url = regsuball(req.url, "(gclid|utm_[a-z]+)=[-_A-z0-9+()%.]+&?", "");
    # remove trailing question mark and ampersand from URL
    set req.url = regsub(req.url, "[?|&]+$", "");
}

Dies muss in der Routine der Varnish-Konfiguration implementiert werden vcl_recv. Auf diese Weise bleibt die angezeigte URL im Browser unverändert (was für Google Analytics wichtig ist), Varnish fordert jedoch basierend auf der normalisierten URL ohne diese Parameter an und speichert sie im Cache (für Backends, z. B. PHP, können diese Parameter verworfen werden).

verwandte Informationen