Matomo hat Probleme mit mobilen Apple Geräten

Was mir seit der Version 4 nur sporadisch aufgefallen ist und ich erst jetzt die Zeit hatte die Sache genauer zu untersuchen, scheint dann doch ein größeres Problem zu sein, zumindest bei mir. Wobei an meiner Matomo Installation nichts besonderes ist. Worum gehts nun also?

Es geht um Apple Geräte und zwar die Mobilen, aber nicht iPads, sondern nur Smartphones. Wenn ich mir in Besucher - > Besucher-Log die Einträge ansehe, dann stechen immer die iPhones hervor, die Matomo zwar tracked, aber es fehlt immer die Verweilzeit und die Aktionen, egal wieviele Seiten aufgerufen wurden. Schau ich mir die Aufrufe in der access_log an, fehlt bei ~99% aller iPhones das Gro an Daten. Das zieht nun einen Rattenschwanz nach sich, weil im Grunde geommen alle durchschnittlichen Statistiken dadurch mehr oder weniger falsch sind, zumal iphones ja nicht gerade selten sind.

Mich wundert, dass das sonst noch niemandem aufgefallen ist?!

Liegt es an den Feiertagen oder an Corona, dass sich hierzu noch niemand zu Wort gemeldet hat?

Hallo,

Also bei mir liegt es daran, dass ich neben Matomo auch noch ein thematisch unabhängiges Vollzeitstudium und eine Masterarbeit habe und somit die letzte Woche einfach einmal etwas anderes machen wollte.
Das Forum lebt halt davon, dass Leute in ihrer Freizeit anderen Leuten helfen und dadurch auch von anderen Leuten geholfen wird und wenn das keiner macht, dann gibt es auch keine Antworten.
Sorry, dass der kleiner Rant genau dich trifft, aber das wollte ich nur mal klar stellen :slight_smile:

That said, back to topic:

Ich glaube nicht, dass es einen gravierenden Bug gibt, der genau iPhones betrifft (aber es ist nicht unmöglich: Zum Überprüfen wäre es hilfreich in den Entwicklertools (or im Mangel eines Mac mit mitmproxy) nachzuschauen ob alle Anfragen korrekt an Matomo gesendet werden).

Aber es gibt auch eine andere Möglichkeit: Dass irgendjemand mit Bots die Seite besucht und dabei als User Agent den verbreitetsten und unauffälligsten nimmt: Den von iPhones.

Es gibt ein neues (noch nicht veröffentlichtes) Plugin, welches du ausprobieren kannst, welches Tracking-Daten von Serveranbietern ignoriert:

Hallo Lukas,

nur damit das nicht falsch rüberkommt. Ich fordere keinen Zwangssupport ein und weiß natürlich, dass der Support auch von und durch andere Matomo Nutzer lebt, zumal es mir im konkreten Fall zunächst mal darum ging auch von anderen Nutzern eine Bestätigung meiner Beobachtung zu erhalten, um ggf. auszuschließen, dass es nicht durch meine vom Standard abweichende Tracking Methode verursacht wird. Ich bin aber für jede Reaktion dankbar und natürlich zeige ich Verständnis für jede Art von Verzögerung und nicht nur wegen der aktuell etwas schwierigeren Situation.

Aber zurück zum Thema.

Nachdem ich kein iphone habe und auch iphones, bzw. die darauf genutzten Browser keine Dev Tools haben und auch eine Simulation nix bringt, ist es denkbar schwer bis unmöglich zu überprüfen, ob alles korrekt geladen wird. Das Problem tritt zwar auch mit anderen Geräte-OS-Browser Konstellationen auf, aber in einem ungleich anderen Verhältnis. Das eindeutige und sich in 99 von 100 Fällen wiederholende Problem tritt nur bei iphones auf, sodass man ausschließen kann, dass es daran liegt, dass jemand nur den UA fälscht. Ansonsten wäre jeder iphone Nutzer ein Fake Nutzer.

Was sich aber sehr sicher auf das iphone reduzieren lässt, ist die neue Analyse Funktion zur Performance. Da hat Apple offensichtlich einen Riegel vorgeschoben, sodass es auch nicht möglich ist von iphones Infos über die aktuelle Übertragungsart im Sinne von G3, G4, WLAN usw. zu bekommen. Das ging bei iphones aber schon in der 3er Version nicht.

Die Funktionen von diesem Plugin habe ich anderweitig, bzw. serverseitig schon bei mir aktiv. Nicht zur Gänze, aber ich bin vor Fake Aufrufen schon rel. gut abgesichert.

Was eben besonders auffallend ist, ist dass der erste Aufruf noch getracked wird, aber bei mehr als 1 Aufruf tauchen diese in Matomo (fast) nicht mehr auf. Gäbe es also gewisse Schutzmenachismen im iphone dürfte der Logik nach schon der erste Aufruf nicht getracked werden, wobei ich den Matomo Aufruf durch Umschreiben der Tracker URL und POST anstelle von GET verschleiere. Eigentlich dürfte es daduch nicht möglich sein dem Tracken zu entkommen. Das gilt auch bei deaktiviertem Javascript.

Meiner Denke nach und gemäß der Datenlage und nur an dieser orientiere ich mich, muss es also in iphones etwas geben, dass das Tracken verhindert. Ich könnte es jetzt auf die Spitze treiben und die iphone Nutzer vom normalen JS tracken ausschließen und statt dessen die PHP API nutzen, aber das gestaltet sich etwas schwierig, weil ich einen HTTP Cache am Laufen haben. Technisch zwar auch möglich, aber nur mit riesigem Aufwand.

Hallo,

Kein Problem, so ist es eh nicht rübergekommen.

Es ist auch spannend, denn ehrlich gesagt, gäbe es ein gravierenderes Problem, dann müssten sich schon mehr Leute gemeldet haben.

Ich selber kann nicht so viel Daten beitragen, weil meine Webseiten viel zu klein sind um statistisch signifikant zu sein. Aber das Visitor log für iPhone Nutzer sieht ganz normal aus. Ein paar Leute, die nur einzelne Seiten aufrufen (was bei der Seite zu erwarten ist) und einige Leute, die viele Seiten aufrufen.

Doch, man kann die normalen Safari (unter Mac OS) developer tools auch verwenden um alle Details von iOS Safari zu sehen. Und mitmproxy kann ich immer empfehlen, falls du irgendwie die Möglichkeit hast ein iPhone zu bekommen.

Wäre es möglich, dass eine deiner Serverkonfigurationen auf irgendeine subtile Art iPhone nutzer ausschließt? Mir fällt nicht viel anderes ein.

Es ist auch sehr seltsam, dass iPads nicht betroffen sind, da sie den identischen Browser haben.

Wenn du mir den Link zur Webseite schickst kann ich dir einen Test auf einem iPad anbieten, sonst weiß ich leider auch nicht wirklich was hilfreiches.

Wie schon gesagt, ich finds ja selber seltsam, zumal man es auch bei anderen Browsern/Geräte/OS Knstellation zumindest in ähnlicher Menge feststellen müsste. Kann man aber nicht und genau deswegen ist es mir ja aufgefallen.

Und Du bist Dir wirklich sicher, dass das mit den Dev Tools auch aufm iphone geht?

Was hättest Du denn gerne für eine Server Konfiguration?

Zu dem oben schon berichteten kommt jetzt ein neuer und anderer Fall hinzu, der sich aber auch nur auf eine bestimmte Android Version reduzieren lässt. Ich kann aber nicht ausschließen, ob es sich dabei nicht um einen falsch positiven Fall handelt. Das müssten ggf. die Matomo Entwickler überprüfen.

Konkret gemeint ist die Android 4.x Version, die zumeist fast nur auf älteren Tablets zu finden ist und sich vermutlich nicht updaten lassen. Allerdings tritt das Problem nicht bei allen Zugriffen mit dieser Android Version auf. Wenn es denn auftritt, blockt ModSecurity den Zugriff auf die piwik.php weil irgendwas am REQUEST_HEADER nicht koscher sei und deswegen kein Tracken möglich ist.

Message: Access denied with code 403 (phase 1). Test 'REQUEST_HEADERS:Content-Type' against '!@rx ^[\w/.+-]+(?:\s?;\s?(?:action|boundary|charset|type|start(?:-info)?)\s?=\s?['\"\w.()+,/:=?<>@-]+)*$' is true.

Wenn ich mir die Zugriffe in der access_log anschaue, sind diese eigentlich unauffällig. Alle Sourcen werden geladen, aber eben nicht der Aufruf der piwik.php