###### tags: `Stolpersteine NRW` # Audit #2, Januar 2021 ## Stolpersteine NRW App HINWEIS: Getestet wurde mit einem Android-Gerät! ### Opt-Out - Tracking per default aktiv ✅ - Tracking deaktivieren ✅ - Tracking aktivieren ✅ 💬 Das Opt-Out ist Tracking-und Nutzerfreundlicher zu betexten (Vergleiche WDR aktuell App). Außerdem ist die allgemeine Datenschutz-Seite des WDR zu verlinken. ### Level1-Id - Level1-Id ist auf _production_ (624801) gesetzt ✅ ### Sprache - deutsch - Property-Werte auf deutsch ✅ ### Inf-Online - Zählung bei Inf-Online erfolgt ❌ - Der korrekte Inf-Online-Link ist gesetzt ❌ - `https://de.ioam.de/tx.io?st=aadstolp&cp=Seite/App &pt=CP&ps=lin&er=N22&rf=www1.wdr.de&r2=https://www1.wdr.de/index.html&ur=www1.wdr.de` - ⚠️ Der Link wurde erst am 04.01.2021 übermittelt - Zählung stimmt in der Größenordnung mit page.display-Events überein ❌ ### page.display - page.display Events werden korrekt getriggert ✴️ - Nachfolgend werden die **Seiten** aufgeführt, bei denen das **page.display Event nicht korrekt getriggert** wird - Auf der Karte wird nur mit dem ersten Besuch ein page.display Event aufgerufen ❌ - Wird das Keyword aus der Suche gelöscht, wird erneut ein page.display Event ausgelöst. Dies soll nicht sein. - Nach setzen des Filters wird ebenfalls eine page.display Event getriggert. Dies soll auch nicht geschehen. - Für die V1 ausreichend --> Keine korrekte Angabe für Seitenbesuche, dafür aber für Seiten-Kapitel - **Wird mit der neuen Navigation in V2 gelöst** Generell ist das Tracking von page.display Events aus Nutzer:innen-Perspektive zu triggern, d.h. screen - overlay-widget - screen (schließen des overlay-widgets) löst drei page.display Events aus. - page.display-Properties ✴️ (product-, page-, content-) - product-Properties incl. _language_ ✅ - page-Properties ✴️ - page = {level2}\_{page_chapter1}\_{page_chapter2}\_{page_chapter3}, falls chapter exitiert (kann vorm Senden des Tags gesetzt werden) ❌ - page_chapterX & page_title - Stolpersteine ✴️ - page_title --> null null (Sollte *Vorname Name* sein - Was passiert bei "Haus der Arbeit" oder "Zwangsarbeiter"?) - page_chapter2 --> null null - ⚠️ Der Screen Anteilnehmen ist im Chapter 3 zu verorten! - page_chapter1 = Stolpersteine - page_chapter2 = Vorname Name - page_chapter3 = Anteil nehmen - Entsprechende Content-Properties des Steins sind zu übernehmen - Augmented Reality ✅ - page_chapter1 ✅ - page_chapter2 ✅ - page_title ✅ - Routen ✴️ - Routen-Details ✴️ - page_chapter1 ✅ - page_chapter2 ✅ - page_chapter3 = Station X von Y ❌ - aktuell ist hier die Adresse gesetzt- diese ist bei der Analyse wenig hilfreich - n:tour_station = die aktuelle Station der Tour als Integer (X) ❌ - n:tour_stations_count = die Anzahl der Stationen der Tour als Integer(Y) ❌ - Routen-Navigation ✴️ - page_chapter1 ✅ - page_chapter2 ✅ - page_chapter3 = ✅ - aktuell ist hier die Adresse gesetzt- diese ist bei der Analyse wenig hilfreich - n:tour_station = die aktuelle Station der Tour als Integer (X) ✅ - n:tour_stations_count = die Anzahl der Stationen der Tour als Integer(Y) ✅ - Karte ✅ - Home ✅ - Infos ✅ - Profil ✅ - content-Properties - content_id wird korrekt übergeben ❌ - `s_content_id` anstelle von `s:content_id` - content_location_zip_code wird korrekt mitgegeben ❌ - fehlt bei Stolperstein - fehlt bei Augmented Reality ### click-Events (Premium Texte) - click.action wird korrekt getriggert ✅ - click.action Properties werden korrekt gesetzt ✅ - zugehörige page Properties werden mit übergeben ✅ ### AV-Inhalte - av-Events werden korrekt getriggert ✴️ - "Vorgelesene Texte Stolpersteine" werden immer getriggert ✴️ - wird aktuell nur getriggert, wenn der Stein mit Premiumtext auch eine AudioStory hat. (evtl. wird auch "nur" auf die flaschen Metadaten zugegriffen.) - "Videos zum Thema Stolpersteine" werden korrekt getriggert ✅ - "Audio-Stories" werden korrekt getriggert ✅ - av-Properties werden korrekt gesetzt ❌ - av_content_id setzen! ✴️ (⚠️ immer 0, wahrscheinlich noch nicht verfügbar via API) - av_content und av_content_duration ✴️ - Korrekter av_content und av_content_duration für "Vorgelesene Texte Stolpersteine" ❌(Aktuell identisch mit AudioStory) - av_content_duration in Millisekunden angeben! ✅ - av_position und av_duration sind in Millisekunden anzugeben! ✅ - s:av_previous_event und n:av_previous_position merken und mit angeben ✴️ - Vorm Senden eines av.start Events ODER nach dem senden eines av.stop Events sind `av_previous_event = ""` und `av_previous_positon = 0` zu setzen. - sonstige Properties korrekt übergeben - ⚠️Mit dem öffnen des Videos im Vollbildmodus wird keine neue Seite ausgelöst. Mit dem Schließen des Players ist kein erneutes Display-Event auszulösen. Der Player ist eine Anwednung auf einer Seite! (vgl. Interne Suche) - die Videos zum Thema Stolpersteine finden auf der Seite "Was sind Stolpersteine" statt ✴️ - das Video "Verlegung des ersten Stolterpsteins durch Gunter Demnig" hat noch eine eigene Seite - "Test mit untertitel ebenso" ### Augmented Reality Anwendung - page.display Event wird korrekt getriggert - properties werden korrekt gesetzt ✴️ - page_chapter1 = "Augmented Reality" ✅ - page_chapter2 = "Vorname Name" ✅ - page_title = "Augmented Reality Vorname Name" ✅ - sonst identische Properties wie beim zugehörigen Stolperstein ✴️ - insb. content-Properties ### Graphic-Story - page.display Event beim Start ✅ - story.display Event für jede Slide ✅ - page.display Event des Screens von dem die Story gestartet wurde nach beenden der Slide ✅ - Properties ✴️ - page_title: "Graphic-Story Vorname Name" ❌ (vgl. Augmented Reality) - page_chapter1: "Graphic Stories" ✅ - page_chapter2: "Vorname Name" ❌ - content-properties ✴️ - Beim Aufrufen einer Story vom Stein ✅ - Beim Aufrufen vom Home-Feed ❌ ### Interne-Suchen - internal_search_result.display wird korrekt getriggert ✅ - internal_search_result.click wird korrekt getriggert ✅ - nur klicks auf Ergebnisse, die die Nutzer auf auf einen neuen Screen (ungleich "Routen" oder "Karten") lenken - ISE Properties werden korrekt übergeben ✴️ - ise_keyword - Bei Koordinaten Suche wird ein leerer String übergeben ❌ (NIE Koordinaten übermitteln! Datenschutz!) - Bei Keyword ✅ - ise_sorting ❌ - ise_content_attributes ❌ (ebenfalls als Liste. Ja, als Mehrzahl) Weitere Aktionen, die das **internal_search_result.display**-Event triggern sind: - Ausführen einer Suche mit Keyword ✅ - Ändern des Filters (via x-en einer Filterkategorie auf der Karte, via Anwenden-Button oder via Zurücksetzen) ✅ - Das Scrollen und Zoomen auf der Karte löst kein display-Event aus! ✅ Das Event **internal_search_result.click** wird dann auszulösen, wenn der Nutzer die interne Suche verlässt! ✅ ### Routen-Details - page.display Events werden korrekt getriggert ✅ - properties werden korrekt übergeben ✴️ - Routen-Details_Aachen - Ost ✅ - Routen-Details_Aachen - Ost_Station 2 von 5 ✴️ - Siehe Oben. - Besser Station 2 von 5 als die Adresse - Zusätzlich n:tour_station und n:tour_stations_count ❌ ### Rounten-Navigation - page.display Events werden korrekt getriggert ✅ - properties werden korrekt übergeben ✅ - Routen-Navigation_Start ✅ - content_id fehlt (ID der Route) ## Sonstige Anmerkungen (Relevant für PO Stolpersteine) ### Opt-Out 💬 Das Opt-Out ist Tracking-und Nutzerfreundlicher zu betexten (Vergleiche WDR aktuell App). Außerdem ist aus meiner Sicht die allgemeine Datenschutz-Seite des WDR bereits hier (Seite: Einstellungen) zu verlinken. ### Interne Suche Wird ein Ort außerhalb von NRW ausgewählt, könnte die Meldung darauf hinweisen, dass nur Steine in NRW registriert sind.