Hallo, entschuldigt bitte wenn ich wie ein totaler Neuling ins Blaue frage, aber ich habe ein problem:
Wie ihr seht wurde der Traking-Code korrekt in die website eingebunden. Aber leider kommt in Matomo nichts an. Wenn ich in matomo auf die seite klicke, kommt nur das Fenster das mir den Code zum einbetten anbietet. ( “Nur noch ein letzter Schritt, um ihren Datenverkehr mit Matomo zu tracken und wertvolle Einsichten zu erhalten ”) wenn man es wegklick sieht man das keine daten in Matomo ankommen. Ich bin mit meinem Latein am Ende und wäre für jeden Lösungsvorschlag dankbar.
Hallo, wenn die Matomo-Installation ganz frisch ist, dann kommt diese Meldung, oder auch später, wenn (noch) keine Daten vorliegen. Weiter unten gibt es die Option: Diese Meldung für die nächsten 24 Stunden ignorieren. Bitte anklicken.
Der Fehler scheint jedoch woanders zu liegen. Eventuell in einer nicht mehr vorhandenen Weiterleitung, die bis vor wenigen Tagen bestand? https://www.example.de/ → https://www.example.de/nc/896/
Unter erster Adresse ist kein Content. Der Content (Starseite) ist unter zweiter Adresse erreichbar.
Zudem wurde von piwik.js und piwik.php auf matomo.js und matomo.php umgestellt. Dazu muss das Matomo auch entsprechend geupdated worden sein, also von einer alten Piwik-Version auf eine neue Matomo-Version.
Edit: Beide neuen sind erreichbar.
Danke ersteinmal für die Antworten.
Wir verwenden Magnolia. Zur Erklärung: Wir sind von einer Typo3 seitze auf eine Magnolia-Seite umgezogen, das ist nun mehr als eine woche her und matomo erhält keine Daten von der neuen Seite. Meinen sie
Im Prinzip ja, denn der Fehler liegt in der Funktion des Matomo Javascript Tracking Codes. Mittels diesem wird das matomo.js von matomo.buchenwald.de in die Website eingebunden:
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
Erklärung:
var d=document // speicher das HTML Document in die Variable d
g=d.createElement('script') // erstelle ein neues <script> Element, speichern in Variable g
s=d.getElementsByTagName('script')[0] // speicher das ERSTE <script> Element im HTML Document in Variable s
// usw.
Der Fehler liegt aktuell hier:
s=d.getElementsByTagName('script')[0]
Weil es kein und auch wegen der Verwendung <matomo-embed> kein <script> Element im Document gibt, WENN das Script beim Laden der Website gestartet wird. Erst viel später weiter unten kommt eines. Da ist das aber schon durch, weil nicht asyncron.
Also nochmal:
Das matomo.js von matomo.buchenwald.de wird nicht geladen, weil das Laden desselben fehlschlägt, weil es kein <script> Element für s.parentNode.insertBefore(g,s) gibt.
Wie die Lösung aussieht … keine Ahnung, weil keine Ahnung von Magnolia.
Zu der matomo.js werden keine Daten übermittelt. Die Datei matomo.js wird erst beim Aufruf einer Webpage in die Webpage geladen, durch den Matomo JavaScript Tracking Code. Die matomo.js ist das Matomo Tracking Script. Mittels diesem werden Informationen an die matomo.php gesendet.
Bei stiftung-gedenkstaetten.de besteht das gleiche Problem mit dem <matomo-embed> und einem fehlenden <script> Element davor.
In der alten Typo3 Website wurde ein <script> Element benutzt:
<!-- Matomo -->
<script type="text/javascript">
var _paq = _paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="https://matomo.buchenwald.de/";
_paq.push(['setTrackerUrl', u+'piwik.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
Die Logik ist sehr simpel. Es wird vom Matomo JavaScript Tracking Code ein <script> Element benutzt um mit dem Code innerhalb dieses <script> Elements die matomo.js oberhalb dieses <script> Elements einzufügen. Wird jedoch ein <matomo-embed> Element benutzt, funktioniert das nicht, weil das Basis <script> Element fehlt.
Da muss Magnolia gefragt werden, wieso sie ein <matomo-embed> Element anstatt einem <script> Element benutzen.
Nur der Vollständigkeit halber, was ist das hier dann? Lediglich der Versuch das script auszuführen, das nicht geht, da falsch eingebettet?: 80.66.4.181 - - [06/Apr/2023:15:46:23 +0200] “GET /matomo.js HTTP/2.0” 200 65842 “https://www.stiftung-gedenkstaetten.de/”
@iamlost , langsam wird es anstrengend. Beide Websites werden technisch durch die Firma henkelhiedl betreut. Kriegt die Firma das nicht hin oder woran liegt es genau?
Es wäre sehr hilfreich, wenn bei dem geposteten Request auch der Browser erkennbar wäre. Scheinbar funktioniert die ganze – sehr komplex gestaltete – Angelegenheit nur im Browser Chrome. Mehr Infos zum verwendeten <matomo-embed> Tag ist in der Datei https://www.stiftung-gedenkstaetten.de/.resources/buchenwald-base-theme/js/index~2023-03-31-10-49-12-000~cache.js zu finden.