Skip to content

Instantly share code, notes, and snippets.


Markus Baersch mbaersch

View GitHub Profile
mbaersch /
Last active January 27, 2023 16:35
Cross Domain Messages Demo Pages

DEMO: Messages für iFrame Vermessung

Einfache Demo zur Nutzung von Messages für die Kommunikation zwischen einem iFrame ("Frame Seite") und der beinhaltenden Seite ("Hauptseite") zum Zweck des zustimmungskonformen Trackings aus dem Kontext der Hauptseite heraus.

Mit dieser Methode ist es...

  • unnötig, einen Consent Dialog oder direktes Tracking innerhalb der Frame Seite zu betreiben
  • möglich, die Nachrichten der Frame Seite in der Hauptseite zu verarbeiten oder zuignorieren, je nach Consent-Lage
  • technisch irrelevant, ob der iFrame eine Frame Seite der eigenen oder einer fremden Domain ausspielt. Solange CSP und Zustimmung das Laden der Inhalte im iFrame nicht verhindern, kann so ein Tracking ohne weitere technische Mittel nur über die Hauptseite implementiert werden
mbaersch / walker2bigquery_tag_template.tpl
Last active December 15, 2022 18:07
preview of ssGTM tag template for walker.js events
View walker2bigquery_tag_template.tpl
/* Template moved to final repo.
* @see
mbaersch / full_size_gtm.user.js
Created September 22, 2022 10:01
Tampermonkey Script for adjusting GTM user interface to full size use
View full_size_gtm.user.js
// ==UserScript==
// @name Full Size GTM
// @namespace
// @version 0.1
// @description adjust GTM user interface to full size use
// @author MBSL
// @match*
// @icon
// @grant none
// ==/UserScript==
mbaersch / kill_ga4_announcement.user.js
Last active August 27, 2022 09:49
Tampermonkey Script: hide annoying announcement for GA4 in Universal Analytics UI
View kill_ga4_announcement.user.js
// ==UserScript==
// @name Kill GA4 Announcement
// @namespace
// @version 0.4
// @description hide annoying announcement for GA4 in Universal Analytics UI (or any other)
// @author MBSL
// @match*
// @icon
// @grant none
// ==/UserScript==
mbaersch / Universal-Export-R-Beispiel.R
Last active May 2, 2022 12:02
Beispielscript zum Export von Daten aus Google Universal Analytics mittels R
View Universal-Export-R-Beispiel.R
# Beispielscript: Export von Daten aus Google Universal Analytics mittels R
# Dieses Beispiel gehört zum Blogpost unter
# Damit es nutzbar ist:
# - R installieren:
# - RStudio installieren:
# - Dieses Script in RStudio öffnen
mbaersch / getgtm.php
Last active March 18, 2022 01:42
Local caching helper for GTM containers
View getgtm.php
Helper for locally cached GTM container: update local GTM cache and
enable optional live container loading for debugging
//path and filename for local GTM container cache, relative
//to this PHP file or as absolute server path
$gtm_save_path = "../js/gtm.js";
mbaersch / content-visibility-marker.html
Created November 23, 2021 13:13
Custom HTML Tag for Google Tag Manager to create markers in main content for triggering "content consumption" events
View content-visibility-marker.html
This code can be used as a Custom HTML tag in Google Tag Manager to create invisible "marker lines"
every x percent inside a container (selected via CSS selector) that holds the main content of a page
(like a blog post).
You can then use visibility triggers for the marker lines (selected by name or class) in GTM in order
to fire event tags for Google Analytics or any other tool to measure "content consumption" without
having to rely inaccurate scroll tracking.
mbaersch / timed-visibility-observer.html
Last active June 9, 2022 10:12
Timed Visibility Observer - HTML-Tag für Piwik PRO Tag Manager zur zeitgesteuerten Auslösung von Visibility Trigger Events
View timed-visibility-observer.html
//HTML-Tag für Piwik PRO Tag Manager zur zeitgesteuerten Auslösung von Visibility Trigger Events.
//Hinweise siehe
//Die Funktion minimalReadingTime() kann entfernt werden, wenn feste Zeiten oder keine Mindestdauer
//benötigt wird. Ebenso kann dieser Kommentar entfernt werden, um nicht die Ladezeit des Tag Managers
mbaersch / fix-ecjs-client.tpl
Created October 13, 2021 22:06
fix to fulfil requests for ec.js from a server-side GTM endpoint (Custom Client Template)
View fix-ecjs-client.tpl
"type": "CLIENT",
"id": "cvt_temp_public_id",
"version": 1,
"securityGroups": [],
"displayName": "Fix ec.js",
"brand": {
"id": "brand_dummy",
mbaersch / cached_event_id.js
Last active November 4, 2021 09:41
getUniqueEventId() - creates cacheable event ids for deduplication of events that cannot use the same trigger
View cached_event_id.js
/* create unique event ids for specific events that "live" for a limited time
(default: 1 scond).
returns a value that consist of the key, a random number and a timestamp;
dot-separated. An existing value for a key that is requested within the
defined lifespan will remain the same, otherwise (not existing or too old)
a new value is generated and stored. The limited lifespan can be used to
deduplicate several hits of the same type between page loads (e. g. Add2Cart
or multiple PageViews in SPAs).