SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
GA4 / GTAG
Data Capture Script Alternatives
Markus Baersch
Why Not GTAG.JS?
gtag.js
some issues
Source: in client-side setup likely to
be blocked by modern browsers
Heavy: does is all: GA, Ads, Optimize,
Badges and whatever
Complexity: Much stuff you might
not want
Control: let me define what is
“engaged”!
Consent: Consent Mode is a joke!
What to use (when running your own
endpoint for more than just GA4)?
gtag.js
… is odd!
Session Handling & More:
● control over “first_visit” and
“session_start”
● browser knows what is a
conversion, a referral exclusion…
● no way to hide your
measurement id
● much “serverside-stuff” has to be
handled by the browser
gtag.js
GTM light?
● Google Tag: “centrally manage
settings without additional code”
● modelled conversions
everywhere
googlemarketinglive.com/americas/
● just “sending hits” is not enough
(for GA4)
● GA4 Measurement Protocol is
not a full replacement
● additional tasks: knowing goals,
send created events, track time…
● event batching
● ssGTM “sendPixelFromBrowser”
● mocking Consent Mode
● sending enough data to feed
GA4 without consent: possible?
gtag.js
why replacing it is hard
⛪
🙏?
(Potential) Alternatives
GA4 Destination: might be one of the
few official partners (soon?)
Everything in place: does have own
session start markers. Utag.data seems
a good fit
Anyone tried this already (without
bundling gtag in the browser)?
Tealium
iQ Standard fits?
Or EventStream?
Seems to have all data: there are
timestamps, timings, hit numbers…
Tagging: relies either on HTML
attributes or events sent via JS
Anyone tried this one maybe? ;)
https://github.com/elbwalker/walker.js
elbwalker
open source event tracker
You would have to steal it: not open
source
GA4 connection “unofficial”: might
break in the future
Not very lightweight: >40kB
first hand experiences here?
https://www.jentis.com/
The JENTIS
approach
alternative capturing indeed
DIY
individual tracking script
● minimal footprint, no
dependencies
● fallback for sendbeacon()
● collect minimal dimensions
● re-use existing dataLayer
● use fingerprint or cookie
● enhanced tracking if consent:
○ session handling
○ returning visitors
○ more dimensions
● use (obfuscated) POST
● quite hard (if only client-side)
Example
Loggy -> Snoop Logg / Luke Logbridge -> log2self
History
started as a simple replacement for analytics.js
5+ years ago
works from the browser only, but needs an
endpoint that knows the format
Used to forward events to GA, Piwik PRO,
Matomo and a few others
Worked without a “client-side session” well
before implementing GA4
one of the older ones:
https://gist.github.com/mbaersch/34af06d1336f8
78ea10f3f7b0e49d45c
evolving code grows ;)
send consent as payload
add an event id to avoid
deduplication problems in
“other systems” ;)
client-side timestamps are fine,
but use your own endpoint to
create new ones
code suddenly needs some
“initialisation”
More Dimensions
collect additional info with
consent only
(and throw out some stuff in
your endpoint as well)
remember: resolution,
(language), color depth & co
are all attributes that you
actively “read” from the
visitor´s device
Be Nice!
Session Handling
GA4 wants session handling
only active if consent is present
uses localStorage / sessionStorage -
which is only possible on a single
domain AND host
Sending Stuff
Try beacons, then AJAX, then
an image pixel as last fallback
…and make sure that your
endpoint looks for get
parameters.
and yes: use guard clauses
instead of all that else stuff if
you like ;)
Endpoint
FP endpoint for flexible data
handling
optionally use separate session,
timestamps, identifier
1:n tracking
debugging with headers
GA4: refer to
https://www.thyngster.com/ga4-
measurement-protocol-
cheatsheet/ for a parameter
reference
(would have saved a lot of time for me)
Endpoint (2)
Use ssGTM and translate own format to GTM events
or build your own in Node, PHP or whatever
Remember: CNAME is not an option
cloud edge endpoints are a promising alternative
Final Tipps
send base64 coded payload
… or even build your own
coding (or just do rot13 :))
Keeping your own format
makes you (somewhat)
independent
remember: a tracking server
has to handle a lot of stuff. Do
not use your website server
(unless you have low traffic
like me ;))
Done!
Questions?
or feedback?
what was great, what not so
much? Let me know!
E-Book
main focus on ssGTM
markus-baersch.de/gtmbook

Mais conteúdo relacionado

Mais procurados

LearnInbound_AnnaCorbett_GTM Events for GA4.pdf
LearnInbound_AnnaCorbett_GTM Events for GA4.pdfLearnInbound_AnnaCorbett_GTM Events for GA4.pdf
LearnInbound_AnnaCorbett_GTM Events for GA4.pdfAnnaCorbett4
 
Migrating wise.com to server-side GA4
Migrating wise.com to server-side GA4Migrating wise.com to server-side GA4
Migrating wise.com to server-side GA4Tom Bennet
 
Google Analytics 4 : 10 Stolperfallen, 10 Verbesserungen + 5 Tipps [Campixx 2...
Google Analytics 4 : 10 Stolperfallen, 10 Verbesserungen + 5 Tipps [Campixx 2...Google Analytics 4 : 10 Stolperfallen, 10 Verbesserungen + 5 Tipps [Campixx 2...
Google Analytics 4 : 10 Stolperfallen, 10 Verbesserungen + 5 Tipps [Campixx 2...📊 Markus Baersch
 
Google Analytics 4: La transición sobre Universal Analytics
Google Analytics 4: La transición sobre Universal AnalyticsGoogle Analytics 4: La transición sobre Universal Analytics
Google Analytics 4: La transición sobre Universal AnalyticsArnau Vendrell
 
PornHub Marketing Case Studies
PornHub Marketing Case StudiesPornHub Marketing Case Studies
PornHub Marketing Case StudiesDane Cobain
 
Google Ads Conversiontracking ohne Cookies -SEA CAMP
Google Ads Conversiontracking ohne Cookies -SEA CAMPGoogle Ads Conversiontracking ohne Cookies -SEA CAMP
Google Ads Conversiontracking ohne Cookies -SEA CAMP📊 Markus Baersch
 
Facebook Ads Auction
Facebook Ads AuctionFacebook Ads Auction
Facebook Ads AuctionRiley Seaburg
 
MeasureCamp_Custom GA4 Channel Groups with dbt
MeasureCamp_Custom GA4 Channel Groups with dbtMeasureCamp_Custom GA4 Channel Groups with dbt
MeasureCamp_Custom GA4 Channel Groups with dbtChristopher Gutknecht
 
Ist Google Analytics noch zu retten?
Ist Google Analytics noch zu retten?Ist Google Analytics noch zu retten?
Ist Google Analytics noch zu retten?📊 Markus Baersch
 
Working With Big Data
Working With Big DataWorking With Big Data
Working With Big DataSeth Familian
 
Adrián Garrido - 10 Diferencias entre GAU y GA4.pdf
Adrián Garrido - 10 Diferencias entre GAU y GA4.pdfAdrián Garrido - 10 Diferencias entre GAU y GA4.pdf
Adrián Garrido - 10 Diferencias entre GAU y GA4.pdfAdrián Garrido
 
Google Analytics
Google AnalyticsGoogle Analytics
Google AnalyticsDaniel Ku
 
Salesforce Application for Retail Business
Salesforce Application for Retail BusinessSalesforce Application for Retail Business
Salesforce Application for Retail BusinessMayur Mane
 
Case Study : Jira Integration
Case Study : Jira IntegrationCase Study : Jira Integration
Case Study : Jira IntegrationCloud Analogy
 
SEO in the Age of Artificial Intelligence | How AI influences Search
SEO in the Age of Artificial Intelligence | How AI influences SearchSEO in the Age of Artificial Intelligence | How AI influences Search
SEO in the Age of Artificial Intelligence | How AI influences SearchPhilipp Klöckner
 
How to Know Exactly Where to Optimize with GA4.pptx
How to Know Exactly Where to Optimize with GA4.pptxHow to Know Exactly Where to Optimize with GA4.pptx
How to Know Exactly Where to Optimize with GA4.pptxMeasurementMarketing.io
 
Getting started with GitHub Desktop
Getting started with GitHub DesktopGetting started with GitHub Desktop
Getting started with GitHub DesktopAram Panasenco
 
How to Break the Requirements into User Stories
How to Break the Requirements into User StoriesHow to Break the Requirements into User Stories
How to Break the Requirements into User StoriesShriKant Vashishtha
 

Mais procurados (20)

LearnInbound_AnnaCorbett_GTM Events for GA4.pdf
LearnInbound_AnnaCorbett_GTM Events for GA4.pdfLearnInbound_AnnaCorbett_GTM Events for GA4.pdf
LearnInbound_AnnaCorbett_GTM Events for GA4.pdf
 
Migrating wise.com to server-side GA4
Migrating wise.com to server-side GA4Migrating wise.com to server-side GA4
Migrating wise.com to server-side GA4
 
Google Analytics 4 : 10 Stolperfallen, 10 Verbesserungen + 5 Tipps [Campixx 2...
Google Analytics 4 : 10 Stolperfallen, 10 Verbesserungen + 5 Tipps [Campixx 2...Google Analytics 4 : 10 Stolperfallen, 10 Verbesserungen + 5 Tipps [Campixx 2...
Google Analytics 4 : 10 Stolperfallen, 10 Verbesserungen + 5 Tipps [Campixx 2...
 
Google Analytics 4: La transición sobre Universal Analytics
Google Analytics 4: La transición sobre Universal AnalyticsGoogle Analytics 4: La transición sobre Universal Analytics
Google Analytics 4: La transición sobre Universal Analytics
 
PornHub Marketing Case Studies
PornHub Marketing Case StudiesPornHub Marketing Case Studies
PornHub Marketing Case Studies
 
Google Ads Conversiontracking ohne Cookies -SEA CAMP
Google Ads Conversiontracking ohne Cookies -SEA CAMPGoogle Ads Conversiontracking ohne Cookies -SEA CAMP
Google Ads Conversiontracking ohne Cookies -SEA CAMP
 
GA4 LAND - Trendigital 2023
GA4 LAND - Trendigital 2023GA4 LAND - Trendigital 2023
GA4 LAND - Trendigital 2023
 
Facebook Ads Auction
Facebook Ads AuctionFacebook Ads Auction
Facebook Ads Auction
 
MeasureCamp_Custom GA4 Channel Groups with dbt
MeasureCamp_Custom GA4 Channel Groups with dbtMeasureCamp_Custom GA4 Channel Groups with dbt
MeasureCamp_Custom GA4 Channel Groups with dbt
 
Ist Google Analytics noch zu retten?
Ist Google Analytics noch zu retten?Ist Google Analytics noch zu retten?
Ist Google Analytics noch zu retten?
 
Working With Big Data
Working With Big DataWorking With Big Data
Working With Big Data
 
Adrián Garrido - 10 Diferencias entre GAU y GA4.pdf
Adrián Garrido - 10 Diferencias entre GAU y GA4.pdfAdrián Garrido - 10 Diferencias entre GAU y GA4.pdf
Adrián Garrido - 10 Diferencias entre GAU y GA4.pdf
 
Google Analytics
Google AnalyticsGoogle Analytics
Google Analytics
 
Salesforce Application for Retail Business
Salesforce Application for Retail BusinessSalesforce Application for Retail Business
Salesforce Application for Retail Business
 
Case Study : Jira Integration
Case Study : Jira IntegrationCase Study : Jira Integration
Case Study : Jira Integration
 
SEO in the Age of Artificial Intelligence | How AI influences Search
SEO in the Age of Artificial Intelligence | How AI influences SearchSEO in the Age of Artificial Intelligence | How AI influences Search
SEO in the Age of Artificial Intelligence | How AI influences Search
 
Workflow in Salesforce
Workflow in SalesforceWorkflow in Salesforce
Workflow in Salesforce
 
How to Know Exactly Where to Optimize with GA4.pptx
How to Know Exactly Where to Optimize with GA4.pptxHow to Know Exactly Where to Optimize with GA4.pptx
How to Know Exactly Where to Optimize with GA4.pptx
 
Getting started with GitHub Desktop
Getting started with GitHub DesktopGetting started with GitHub Desktop
Getting started with GitHub Desktop
 
How to Break the Requirements into User Stories
How to Break the Requirements into User StoriesHow to Break the Requirements into User Stories
How to Break the Requirements into User Stories
 

Semelhante a GA4/GTAG Data Capture Alternatives

Running GA4 without gtag.js using ssGTM and elbwalker
Running GA4 without gtag.js using ssGTM and elbwalkerRunning GA4 without gtag.js using ssGTM and elbwalker
Running GA4 without gtag.js using ssGTM and elbwalker📊 Markus Baersch
 
Replacing gtag.js with walker.js
Replacing gtag.js with walker.jsReplacing gtag.js with walker.js
Replacing gtag.js with walker.js📊 Markus Baersch
 
All about google tag manager - Basics
All about google tag manager - Basics All about google tag manager - Basics
All about google tag manager - Basics Rob Levish
 
Go bei der 4Com GmbH & Co. KG
Go bei der 4Com GmbH & Co. KGGo bei der 4Com GmbH & Co. KG
Go bei der 4Com GmbH & Co. KGJonas Riedel
 
GWT + Gears : The browser is the platform
GWT + Gears : The browser is the platformGWT + Gears : The browser is the platform
GWT + Gears : The browser is the platformDidier Girard
 
The current status of html5 technology and standard
The current status of html5 technology and standardThe current status of html5 technology and standard
The current status of html5 technology and standardWonsuk Lee
 
Chrome Extensions Slides Gtugna Kick Off Meeti
Chrome Extensions Slides Gtugna Kick Off MeetiChrome Extensions Slides Gtugna Kick Off Meeti
Chrome Extensions Slides Gtugna Kick Off MeetiStephan Linzner
 
When You Need Custom Data in GTM but a Developer is Not Available
When You Need Custom Data in GTM but a Developer is Not AvailableWhen You Need Custom Data in GTM but a Developer is Not Available
When You Need Custom Data in GTM but a Developer is Not AvailableIIHEvents
 
CodeCamp Iasi - Creating serverless data analytics system on GCP using BigQuery
CodeCamp Iasi - Creating serverless data analytics system on GCP using BigQueryCodeCamp Iasi - Creating serverless data analytics system on GCP using BigQuery
CodeCamp Iasi - Creating serverless data analytics system on GCP using BigQueryMárton Kodok
 
Having fun with Google Tag Manager (implement cool things like weather tracki...
Having fun with Google Tag Manager (implement cool things like weather tracki...Having fun with Google Tag Manager (implement cool things like weather tracki...
Having fun with Google Tag Manager (implement cool things like weather tracki...Eventz.Digital
 
Custom Tag Manager Templates
Custom Tag Manager TemplatesCustom Tag Manager Templates
Custom Tag Manager TemplatesMarkus Baersch
 
GraphQL Bangkok Meetup 6.0
GraphQL Bangkok Meetup 6.0GraphQL Bangkok Meetup 6.0
GraphQL Bangkok Meetup 6.0Tobias Meixner
 
Questioning data quality and troubleshooting tracking gaps (version2 | Smx Su...
Questioning data quality and troubleshooting tracking gaps (version2 | Smx Su...Questioning data quality and troubleshooting tracking gaps (version2 | Smx Su...
Questioning data quality and troubleshooting tracking gaps (version2 | Smx Su...Christopher Gutknecht
 
Introduction to Google Tag Manager
Introduction to Google Tag ManagerIntroduction to Google Tag Manager
Introduction to Google Tag ManagerSteven Stadler
 
Crash Course on Google Analytics
Crash Course on Google AnalyticsCrash Course on Google Analytics
Crash Course on Google AnalyticsGrowth Hacking Asia
 
Headless browser: puppeteer and git client : GitKraken
Headless browser: puppeteer and git client : GitKrakenHeadless browser: puppeteer and git client : GitKraken
Headless browser: puppeteer and git client : GitKrakenSheikhMoonwaraAnjumM
 
Isolating GPU Access in its Own Process (Foss-North 2018)
Isolating GPU Access in its Own Process (Foss-North 2018)Isolating GPU Access in its Own Process (Foss-North 2018)
Isolating GPU Access in its Own Process (Foss-North 2018)Patricia Aas
 
Introduction to Go
Introduction to GoIntroduction to Go
Introduction to GoSimon Hewitt
 

Semelhante a GA4/GTAG Data Capture Alternatives (20)

Running GA4 without gtag.js using ssGTM and elbwalker
Running GA4 without gtag.js using ssGTM and elbwalkerRunning GA4 without gtag.js using ssGTM and elbwalker
Running GA4 without gtag.js using ssGTM and elbwalker
 
Replacing gtag.js with walker.js
Replacing gtag.js with walker.jsReplacing gtag.js with walker.js
Replacing gtag.js with walker.js
 
Tracking ist nicht kaputt!
Tracking ist nicht kaputt!Tracking ist nicht kaputt!
Tracking ist nicht kaputt!
 
All about google tag manager - Basics
All about google tag manager - Basics All about google tag manager - Basics
All about google tag manager - Basics
 
Go bei der 4Com GmbH & Co. KG
Go bei der 4Com GmbH & Co. KGGo bei der 4Com GmbH & Co. KG
Go bei der 4Com GmbH & Co. KG
 
GWT + Gears : The browser is the platform
GWT + Gears : The browser is the platformGWT + Gears : The browser is the platform
GWT + Gears : The browser is the platform
 
The current status of html5 technology and standard
The current status of html5 technology and standardThe current status of html5 technology and standard
The current status of html5 technology and standard
 
Chrome Extensions Slides Gtugna Kick Off Meeti
Chrome Extensions Slides Gtugna Kick Off MeetiChrome Extensions Slides Gtugna Kick Off Meeti
Chrome Extensions Slides Gtugna Kick Off Meeti
 
When You Need Custom Data in GTM but a Developer is Not Available
When You Need Custom Data in GTM but a Developer is Not AvailableWhen You Need Custom Data in GTM but a Developer is Not Available
When You Need Custom Data in GTM but a Developer is Not Available
 
CodeCamp Iasi - Creating serverless data analytics system on GCP using BigQuery
CodeCamp Iasi - Creating serverless data analytics system on GCP using BigQueryCodeCamp Iasi - Creating serverless data analytics system on GCP using BigQuery
CodeCamp Iasi - Creating serverless data analytics system on GCP using BigQuery
 
Having fun with Google Tag Manager (implement cool things like weather tracki...
Having fun with Google Tag Manager (implement cool things like weather tracki...Having fun with Google Tag Manager (implement cool things like weather tracki...
Having fun with Google Tag Manager (implement cool things like weather tracki...
 
Custom Tag Manager Templates
Custom Tag Manager TemplatesCustom Tag Manager Templates
Custom Tag Manager Templates
 
Custom Tag Manager Templates
Custom Tag Manager TemplatesCustom Tag Manager Templates
Custom Tag Manager Templates
 
GraphQL Bangkok Meetup 6.0
GraphQL Bangkok Meetup 6.0GraphQL Bangkok Meetup 6.0
GraphQL Bangkok Meetup 6.0
 
Questioning data quality and troubleshooting tracking gaps (version2 | Smx Su...
Questioning data quality and troubleshooting tracking gaps (version2 | Smx Su...Questioning data quality and troubleshooting tracking gaps (version2 | Smx Su...
Questioning data quality and troubleshooting tracking gaps (version2 | Smx Su...
 
Introduction to Google Tag Manager
Introduction to Google Tag ManagerIntroduction to Google Tag Manager
Introduction to Google Tag Manager
 
Crash Course on Google Analytics
Crash Course on Google AnalyticsCrash Course on Google Analytics
Crash Course on Google Analytics
 
Headless browser: puppeteer and git client : GitKraken
Headless browser: puppeteer and git client : GitKrakenHeadless browser: puppeteer and git client : GitKraken
Headless browser: puppeteer and git client : GitKraken
 
Isolating GPU Access in its Own Process (Foss-North 2018)
Isolating GPU Access in its Own Process (Foss-North 2018)Isolating GPU Access in its Own Process (Foss-North 2018)
Isolating GPU Access in its Own Process (Foss-North 2018)
 
Introduction to Go
Introduction to GoIntroduction to Go
Introduction to Go
 

Mais de 📊 Markus Baersch

Consent & Tag Management - die ultimative Checkliste
Consent & Tag Management - die ultimative ChecklisteConsent & Tag Management - die ultimative Checkliste
Consent & Tag Management - die ultimative Checkliste📊 Markus Baersch
 
Conversion Tracking Optionen im Vergleich
Conversion Tracking Optionen im VergleichConversion Tracking Optionen im Vergleich
Conversion Tracking Optionen im Vergleich📊 Markus Baersch
 
First Party Conversion Tracking [SEAcamp]
First Party Conversion Tracking [SEAcamp]First Party Conversion Tracking [SEAcamp]
First Party Conversion Tracking [SEAcamp]📊 Markus Baersch
 
Server-Side: Lösung für alles? [OMX]
Server-Side: Lösung für alles? [OMX] Server-Side: Lösung für alles? [OMX]
Server-Side: Lösung für alles? [OMX] 📊 Markus Baersch
 
Google Consent Mode / MC Europe 2021
Google Consent Mode / MC Europe 2021Google Consent Mode / MC Europe 2021
Google Consent Mode / MC Europe 2021📊 Markus Baersch
 
Google Analytics gezielt zur Optimierung einsetzen / Bessere Daten in Analyti...
Google Analytics gezielt zur Optimierung einsetzen / Bessere Daten in Analyti...Google Analytics gezielt zur Optimierung einsetzen / Bessere Daten in Analyti...
Google Analytics gezielt zur Optimierung einsetzen / Bessere Daten in Analyti...📊 Markus Baersch
 
Herausforderungen der Internationalisierung
Herausforderungen der InternationalisierungHerausforderungen der Internationalisierung
Herausforderungen der Internationalisierung📊 Markus Baersch
 
Analytics & GTM: Tipps für bessere Daten CAMPIXX 2019
Analytics & GTM: Tipps für bessere Daten CAMPIXX 2019Analytics & GTM: Tipps für bessere Daten CAMPIXX 2019
Analytics & GTM: Tipps für bessere Daten CAMPIXX 2019📊 Markus Baersch
 
Analytics & GTM Hacks für bessere Daten
Analytics & GTM Hacks für bessere DatenAnalytics & GTM Hacks für bessere Daten
Analytics & GTM Hacks für bessere Daten📊 Markus Baersch
 
Bounce Rate Demystified - Campixx 2018
Bounce Rate Demystified - Campixx 2018Bounce Rate Demystified - Campixx 2018
Bounce Rate Demystified - Campixx 2018📊 Markus Baersch
 
Anatomie von AdWords Scripts - Einführung
Anatomie von AdWords Scripts - Einführung Anatomie von AdWords Scripts - Einführung
Anatomie von AdWords Scripts - Einführung 📊 Markus Baersch
 
State of Spam SEAcamp Hannover 2017
State of Spam SEAcamp Hannover 2017State of Spam SEAcamp Hannover 2017
State of Spam SEAcamp Hannover 2017📊 Markus Baersch
 

Mais de 📊 Markus Baersch (20)

Consent & Tag Management - die ultimative Checkliste
Consent & Tag Management - die ultimative ChecklisteConsent & Tag Management - die ultimative Checkliste
Consent & Tag Management - die ultimative Checkliste
 
Conversion Tracking Optionen im Vergleich
Conversion Tracking Optionen im VergleichConversion Tracking Optionen im Vergleich
Conversion Tracking Optionen im Vergleich
 
First Party Conversion Tracking [SEAcamp]
First Party Conversion Tracking [SEAcamp]First Party Conversion Tracking [SEAcamp]
First Party Conversion Tracking [SEAcamp]
 
Server-Side: Lösung für alles? [OMX]
Server-Side: Lösung für alles? [OMX] Server-Side: Lösung für alles? [OMX]
Server-Side: Lösung für alles? [OMX]
 
Google Tag Manager Templates
Google Tag Manager TemplatesGoogle Tag Manager Templates
Google Tag Manager Templates
 
Google Consent Mode / MC Europe 2021
Google Consent Mode / MC Europe 2021Google Consent Mode / MC Europe 2021
Google Consent Mode / MC Europe 2021
 
First Party Data Collection
First Party Data CollectionFirst Party Data Collection
First Party Data Collection
 
Tracking-Herausforderungen 2020
Tracking-Herausforderungen 2020Tracking-Herausforderungen 2020
Tracking-Herausforderungen 2020
 
Analytics Hacks II SEAcamp 2019
Analytics Hacks II SEAcamp 2019Analytics Hacks II SEAcamp 2019
Analytics Hacks II SEAcamp 2019
 
Rendering Bots erkennen
Rendering Bots erkennen Rendering Bots erkennen
Rendering Bots erkennen
 
Browser vs. Tracking
Browser vs. TrackingBrowser vs. Tracking
Browser vs. Tracking
 
Analytics Tippgewitter
Analytics TippgewitterAnalytics Tippgewitter
Analytics Tippgewitter
 
Google Analytics gezielt zur Optimierung einsetzen / Bessere Daten in Analyti...
Google Analytics gezielt zur Optimierung einsetzen / Bessere Daten in Analyti...Google Analytics gezielt zur Optimierung einsetzen / Bessere Daten in Analyti...
Google Analytics gezielt zur Optimierung einsetzen / Bessere Daten in Analyti...
 
Herausforderungen der Internationalisierung
Herausforderungen der InternationalisierungHerausforderungen der Internationalisierung
Herausforderungen der Internationalisierung
 
ITP 2.1 und Webanalyse
ITP 2.1 und WebanalyseITP 2.1 und Webanalyse
ITP 2.1 und Webanalyse
 
Analytics & GTM: Tipps für bessere Daten CAMPIXX 2019
Analytics & GTM: Tipps für bessere Daten CAMPIXX 2019Analytics & GTM: Tipps für bessere Daten CAMPIXX 2019
Analytics & GTM: Tipps für bessere Daten CAMPIXX 2019
 
Analytics & GTM Hacks für bessere Daten
Analytics & GTM Hacks für bessere DatenAnalytics & GTM Hacks für bessere Daten
Analytics & GTM Hacks für bessere Daten
 
Bounce Rate Demystified - Campixx 2018
Bounce Rate Demystified - Campixx 2018Bounce Rate Demystified - Campixx 2018
Bounce Rate Demystified - Campixx 2018
 
Anatomie von AdWords Scripts - Einführung
Anatomie von AdWords Scripts - Einführung Anatomie von AdWords Scripts - Einführung
Anatomie von AdWords Scripts - Einführung
 
State of Spam SEAcamp Hannover 2017
State of Spam SEAcamp Hannover 2017State of Spam SEAcamp Hannover 2017
State of Spam SEAcamp Hannover 2017
 

Último

6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...
6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...
6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...Dr Arash Najmaei ( Phd., MBA, BSc)
 
Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...
Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...
Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...Boston Institute of Analytics
 
SMOTE and K-Fold Cross Validation-Presentation.pptx
SMOTE and K-Fold Cross Validation-Presentation.pptxSMOTE and K-Fold Cross Validation-Presentation.pptx
SMOTE and K-Fold Cross Validation-Presentation.pptxHaritikaChhatwal1
 
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024Susanna-Assunta Sansone
 
Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...
Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...
Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...Boston Institute of Analytics
 
Real-Time AI Streaming - AI Max Princeton
Real-Time AI  Streaming - AI Max PrincetonReal-Time AI  Streaming - AI Max Princeton
Real-Time AI Streaming - AI Max PrincetonTimothy Spann
 
Cyber awareness ppt on the recorded data
Cyber awareness ppt on the recorded dataCyber awareness ppt on the recorded data
Cyber awareness ppt on the recorded dataTecnoIncentive
 
Bank Loan Approval Analysis: A Comprehensive Data Analysis Project
Bank Loan Approval Analysis: A Comprehensive Data Analysis ProjectBank Loan Approval Analysis: A Comprehensive Data Analysis Project
Bank Loan Approval Analysis: A Comprehensive Data Analysis ProjectBoston Institute of Analytics
 
Advanced Machine Learning for Business Professionals
Advanced Machine Learning for Business ProfessionalsAdvanced Machine Learning for Business Professionals
Advanced Machine Learning for Business ProfessionalsVICTOR MAESTRE RAMIREZ
 
Student profile product demonstration on grades, ability, well-being and mind...
Student profile product demonstration on grades, ability, well-being and mind...Student profile product demonstration on grades, ability, well-being and mind...
Student profile product demonstration on grades, ability, well-being and mind...Seán Kennedy
 
Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 2Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 217djon017
 
Networking Case Study prepared by teacher.pptx
Networking Case Study prepared by teacher.pptxNetworking Case Study prepared by teacher.pptx
Networking Case Study prepared by teacher.pptxHimangsuNath
 
Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Cathrine Wilhelmsen
 
Semantic Shed - Squashing and Squeezing.pptx
Semantic Shed - Squashing and Squeezing.pptxSemantic Shed - Squashing and Squeezing.pptx
Semantic Shed - Squashing and Squeezing.pptxMike Bennett
 
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...Boston Institute of Analytics
 
English-8-Q4-W3-Synthesizing-Essential-Information-From-Various-Sources-1.pdf
English-8-Q4-W3-Synthesizing-Essential-Information-From-Various-Sources-1.pdfEnglish-8-Q4-W3-Synthesizing-Essential-Information-From-Various-Sources-1.pdf
English-8-Q4-W3-Synthesizing-Essential-Information-From-Various-Sources-1.pdfblazblazml
 
convolutional neural network and its applications.pdf
convolutional neural network and its applications.pdfconvolutional neural network and its applications.pdf
convolutional neural network and its applications.pdfSubhamKumar3239
 
What To Do For World Nature Conservation Day by Slidesgo.pptx
What To Do For World Nature Conservation Day by Slidesgo.pptxWhat To Do For World Nature Conservation Day by Slidesgo.pptx
What To Do For World Nature Conservation Day by Slidesgo.pptxSimranPal17
 

Último (20)

6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...
6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...
6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...
 
Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...
Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...
Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...
 
Insurance Churn Prediction Data Analysis Project
Insurance Churn Prediction Data Analysis ProjectInsurance Churn Prediction Data Analysis Project
Insurance Churn Prediction Data Analysis Project
 
SMOTE and K-Fold Cross Validation-Presentation.pptx
SMOTE and K-Fold Cross Validation-Presentation.pptxSMOTE and K-Fold Cross Validation-Presentation.pptx
SMOTE and K-Fold Cross Validation-Presentation.pptx
 
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024
 
Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...
Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...
Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...
 
Real-Time AI Streaming - AI Max Princeton
Real-Time AI  Streaming - AI Max PrincetonReal-Time AI  Streaming - AI Max Princeton
Real-Time AI Streaming - AI Max Princeton
 
Cyber awareness ppt on the recorded data
Cyber awareness ppt on the recorded dataCyber awareness ppt on the recorded data
Cyber awareness ppt on the recorded data
 
Bank Loan Approval Analysis: A Comprehensive Data Analysis Project
Bank Loan Approval Analysis: A Comprehensive Data Analysis ProjectBank Loan Approval Analysis: A Comprehensive Data Analysis Project
Bank Loan Approval Analysis: A Comprehensive Data Analysis Project
 
Advanced Machine Learning for Business Professionals
Advanced Machine Learning for Business ProfessionalsAdvanced Machine Learning for Business Professionals
Advanced Machine Learning for Business Professionals
 
Student profile product demonstration on grades, ability, well-being and mind...
Student profile product demonstration on grades, ability, well-being and mind...Student profile product demonstration on grades, ability, well-being and mind...
Student profile product demonstration on grades, ability, well-being and mind...
 
Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 2Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 2
 
Networking Case Study prepared by teacher.pptx
Networking Case Study prepared by teacher.pptxNetworking Case Study prepared by teacher.pptx
Networking Case Study prepared by teacher.pptx
 
Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)
 
Data Analysis Project: Stroke Prediction
Data Analysis Project: Stroke PredictionData Analysis Project: Stroke Prediction
Data Analysis Project: Stroke Prediction
 
Semantic Shed - Squashing and Squeezing.pptx
Semantic Shed - Squashing and Squeezing.pptxSemantic Shed - Squashing and Squeezing.pptx
Semantic Shed - Squashing and Squeezing.pptx
 
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...
 
English-8-Q4-W3-Synthesizing-Essential-Information-From-Various-Sources-1.pdf
English-8-Q4-W3-Synthesizing-Essential-Information-From-Various-Sources-1.pdfEnglish-8-Q4-W3-Synthesizing-Essential-Information-From-Various-Sources-1.pdf
English-8-Q4-W3-Synthesizing-Essential-Information-From-Various-Sources-1.pdf
 
convolutional neural network and its applications.pdf
convolutional neural network and its applications.pdfconvolutional neural network and its applications.pdf
convolutional neural network and its applications.pdf
 
What To Do For World Nature Conservation Day by Slidesgo.pptx
What To Do For World Nature Conservation Day by Slidesgo.pptxWhat To Do For World Nature Conservation Day by Slidesgo.pptx
What To Do For World Nature Conservation Day by Slidesgo.pptx
 

GA4/GTAG Data Capture Alternatives

  • 1. GA4 / GTAG Data Capture Script Alternatives Markus Baersch
  • 3. gtag.js some issues Source: in client-side setup likely to be blocked by modern browsers Heavy: does is all: GA, Ads, Optimize, Badges and whatever Complexity: Much stuff you might not want Control: let me define what is “engaged”! Consent: Consent Mode is a joke! What to use (when running your own endpoint for more than just GA4)?
  • 4. gtag.js … is odd! Session Handling & More: ● control over “first_visit” and “session_start” ● browser knows what is a conversion, a referral exclusion… ● no way to hide your measurement id ● much “serverside-stuff” has to be handled by the browser
  • 5. gtag.js GTM light? ● Google Tag: “centrally manage settings without additional code” ● modelled conversions everywhere googlemarketinglive.com/americas/
  • 6. ● just “sending hits” is not enough (for GA4) ● GA4 Measurement Protocol is not a full replacement ● additional tasks: knowing goals, send created events, track time… ● event batching ● ssGTM “sendPixelFromBrowser” ● mocking Consent Mode ● sending enough data to feed GA4 without consent: possible? gtag.js why replacing it is hard
  • 9. GA4 Destination: might be one of the few official partners (soon?) Everything in place: does have own session start markers. Utag.data seems a good fit Anyone tried this already (without bundling gtag in the browser)? Tealium iQ Standard fits? Or EventStream?
  • 10. Seems to have all data: there are timestamps, timings, hit numbers… Tagging: relies either on HTML attributes or events sent via JS Anyone tried this one maybe? ;) https://github.com/elbwalker/walker.js elbwalker open source event tracker
  • 11. You would have to steal it: not open source GA4 connection “unofficial”: might break in the future Not very lightweight: >40kB first hand experiences here? https://www.jentis.com/ The JENTIS approach alternative capturing indeed
  • 12. DIY individual tracking script ● minimal footprint, no dependencies ● fallback for sendbeacon() ● collect minimal dimensions ● re-use existing dataLayer ● use fingerprint or cookie ● enhanced tracking if consent: ○ session handling ○ returning visitors ○ more dimensions ● use (obfuscated) POST ● quite hard (if only client-side)
  • 13. Example Loggy -> Snoop Logg / Luke Logbridge -> log2self
  • 14. History started as a simple replacement for analytics.js 5+ years ago works from the browser only, but needs an endpoint that knows the format Used to forward events to GA, Piwik PRO, Matomo and a few others Worked without a “client-side session” well before implementing GA4 one of the older ones: https://gist.github.com/mbaersch/34af06d1336f8 78ea10f3f7b0e49d45c
  • 15. evolving code grows ;) send consent as payload add an event id to avoid deduplication problems in “other systems” ;) client-side timestamps are fine, but use your own endpoint to create new ones code suddenly needs some “initialisation” More Dimensions
  • 16. collect additional info with consent only (and throw out some stuff in your endpoint as well) remember: resolution, (language), color depth & co are all attributes that you actively “read” from the visitor´s device Be Nice!
  • 17. Session Handling GA4 wants session handling only active if consent is present uses localStorage / sessionStorage - which is only possible on a single domain AND host
  • 18. Sending Stuff Try beacons, then AJAX, then an image pixel as last fallback …and make sure that your endpoint looks for get parameters. and yes: use guard clauses instead of all that else stuff if you like ;)
  • 19. Endpoint FP endpoint for flexible data handling optionally use separate session, timestamps, identifier 1:n tracking debugging with headers GA4: refer to https://www.thyngster.com/ga4- measurement-protocol- cheatsheet/ for a parameter reference (would have saved a lot of time for me)
  • 20. Endpoint (2) Use ssGTM and translate own format to GTM events or build your own in Node, PHP or whatever Remember: CNAME is not an option cloud edge endpoints are a promising alternative
  • 21. Final Tipps send base64 coded payload … or even build your own coding (or just do rot13 :)) Keeping your own format makes you (somewhat) independent remember: a tracking server has to handle a lot of stuff. Do not use your website server (unless you have low traffic like me ;))
  • 22. Done! Questions? or feedback? what was great, what not so much? Let me know!
  • 23. E-Book main focus on ssGTM markus-baersch.de/gtmbook

Notas do Editor

  1. Some kind of a “gtag.js - rant”: Is gtag.js really the best way to collect events in the browser? Why is gtag.js in general odd and what are the features that are used to feed GA4 with data? We will take a look at what gtag.js does, what alternative ways for data capturing already exist and how an individual replacement can be built.
  2. https://www.flaticon.com/
  3. David Vallejo did this for client-side tracking as well! ;)