Skip to content

Instantly share code, notes, and snippets.

View mbaersch's full-sized avatar

Markus Baersch mbaersch

View GitHub Profile
@mbaersch
mbaersch / fakecentrics.html
Last active April 24, 2024 19:22
Fakecentrics - Custom HTML Tag Code for Google Tag Manager: Dummy Consent Dialog for Testing Purposes
<script>
/**
* Fakecentrics - Shakespeare Edition
* ===================================
* creates a simple fake consent dialog to accept or decline
* all services defined in a "consentKeys" array.
* pushes consent to dataLayer in a Usercentrics-like format.
*
* @version 1.0.4
* @author Markus Baersch <mail@markus-baersch.de>
@mbaersch
mbaersch / demo-iframe-messages.md
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
mbaersch / walker2bigquery_tag_template.tpl
Last active December 15, 2022 18:07
preview of ssGTM tag template for walker.js events
/* Template moved to final repo.
* @see https://github.com/elbwalker/sgtm-tag-bigquery
*/
@mbaersch
mbaersch / full_size_gtm.user.js
Created September 22, 2022 10:01
Tampermonkey Script for adjusting GTM user interface to full size use
// ==UserScript==
// @name Full Size GTM
// @namespace http://tampermonkey.net/
// @version 0.1
// @description adjust GTM user interface to full size use
// @author MBSL
// @match https://tagmanager.google.com/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=google.com
// @grant none
// ==/UserScript==
@mbaersch
mbaersch / kill_ga4_announcement.user.js
Last active August 27, 2022 09:49
Tampermonkey Script: hide annoying announcement for GA4 in Universal Analytics UI
// ==UserScript==
// @name Kill GA4 Announcement
// @namespace http://tampermonkey.net/
// @version 0.4
// @description hide annoying announcement for GA4 in Universal Analytics UI (or any other)
// @author MBSL
// @match https://analytics.google.com/analytics/web/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=google.com
// @grant none
// ==/UserScript==
@mbaersch
mbaersch / Universal-Export-R-Beispiel.R
Last active May 2, 2022 12:02
Beispielscript zum Export von Daten aus Google Universal Analytics mittels R
#---------------------------------------------------------------------------------
# Beispielscript: Export von Daten aus Google Universal Analytics mittels R
#---------------------------------------------------------------------------------
# Dieses Beispiel gehört zum Blogpost unter
# https://www.markus-baersch.de/blog/universal-analytics-daten-sichern-was-und-wie/
# Damit es nutzbar ist:
# - R installieren: https://cran.rstudio.com/
# - RStudio installieren: https://www.rstudio.com/
# - Dieses Script in RStudio öffnen
@mbaersch
mbaersch / getgtm.php
Last active March 18, 2022 01:42
Local caching helper for GTM containers
<?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
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
<script>
/*
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
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
<script>
//******************************************************************************************************
//HTML-Tag für Piwik PRO Tag Manager zur zeitgesteuerten Auslösung von Visibility Trigger Events.
//******************************************************************************************************
//Hinweise siehe https://gist.github.com/mbaersch/8cc6419f3a2b16f6c8641a828460d06e
//Optimierung:
//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
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)
___INFO___
{
"type": "CLIENT",
"id": "cvt_temp_public_id",
"version": 1,
"securityGroups": [],
"displayName": "Fix ec.js",
"brand": {
"id": "brand_dummy",