Geschrieben von

GA4-Test: Limit von 25 Custom Event Parameter überschreiten

Webtracking

Google Analytics 4 hat verschiedene Limitierungen. Darunter fallen auch Event Parameter, die mit jedem Event mitgeschickt werden können. Maximal können 25 solcher benutzerdefinierter Ereignisparameter mit jedem Event versendet werden. Alles darüber wird in GA4 nicht protokolliert. Es bleiben aber Fragen offen:

  • Wenn ich trotzdem mehr als 25 Custom Event Parameter schicke: Sind alle über den BigQuery-Export verfügbar?
  • Und welche Parameter sucht sich GA4 aus? Die ersten 25, die letzten 25 oder folgt die Auswahl einem anderen Schema?

Nachfolgend stelle ich kurz das Setup und das Ergebnis vor.

Setup

Das Setup ist relativ einfach. In einer JavaScript-Funktion lasse ich eine for-Schleife insgesamt 100 Event Parameter erstellen. Diese packe ich in den GA4-Request und schicke die Daten per POST über das Measurement Protocol (Version 2) und mittels der fetch-Methode an meine GA4-Property. Beachte, dass im Request-Parameter “measurement_id” deine GA4-Property-ID und im Request-Parameter “api_secret” dein API-Secret abgelegt werden muss, damit das ganze funktioniert. Den API-Secret bekommst du in den Datenstream-Einstellungen des jeweiligen Datenstreams.

Die JavaScript-Funktion sieht wie folgt aus:

let customParams = {};
let exceedLimit = 100;
 
for (let i = 1; i <= exceedLimit; i++) {

  let key = 'key';
  let value = 'value' + i;
 
  customParams[key + i] = value;
 
}
 
fetch(`https://www.google-analytics.com/mp/collect?measurement_id=G-XXX&api_secret=XXX`, {
  method: 'POST',
  body: JSON.stringify({
    client_id: '123.123',
    events: [{
      name: 'paramTest',
      params: customParams,
    }]   })
}).then(response => console.log(response));

Im ausgehenden Request sieht man nun die 100 Event-Parameter, die mitgeschickt wurden:

Ergebnisse

Schaut man nun in die GA4-Benutzeroberfläche in den Echtzeit-Report, dann werden nur 25 von 100 Event Parametern angezeigt:

Wie man im Screenshot sehen kann, werden weder die ersten 25 noch die letzten 25 aus dem Request herausgezogen werden. Vielmehr ist es eine zufällige Auswahl. Die zufällige Auswahl lässt sich bestätigen, wenn man im nächsten Schritt die Daten in BigQuery analysiert:


Jetzt kann ich auch über alle meine Test-Events gehen und einfach zählen wie viele Custom Event-Parameter enthalten sind. Das mache ich mit folgender SQL-Abfrage:

SELECT
  event_name,
  event_timestamp,
  COUNT(param.key) AS param_key
FROM -- Hier deine Tabelle setzen
  `projekt.dataset.tabelle`,
  UNNEST(event_params) AS param
WHERE
  event_name = 'paramTest'
GROUP BY
  event_name,
  event_timestamp
ORDER BY
  param_key;

Das Ergebnis ist eindeutig:

Auch in BigQuery werden nur max. 25 Event Parameter – zufällig von GA4 ausgewählt – exportiert. Somit kann man festhalten:

  • In BigQuery sind nicht mehr als 25 Custom Event Parameter verfügbar.
  • Beim Überschreiten des Limits wählt Google Analytics gesendete Parameter zufällig aus.
  • Aus diesen Gründen scheint es unabdingbar zu sein, sich an das vorgegebene Limit zu halten, damit man an alle Daten kommt.