###### 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.