Firebase

Signal sends app events to Google Analytics for Firebase through the GA4 Measurement Protocol (Firebase client type), from your own server.

The Measurement Protocol needs the Firebase app instance ID, which only the Firebase SDK can produce. Read it in your app and hand it to Signal with setCollectedId("firebase_app_instance_id", ...) (see mobile identity). Events without it are not sent.

Prerequisites

  • Your Firebase App ID (Firebase console > Project settings > Your apps, format 1:NNN:android:HEX).
  • A Measurement Protocol API secret for the app’s data stream (GA Admin > Data Streams > Measurement Protocol API secrets).

Configuration fields

FieldRequiredDescription
firebase_app_idYesFirebase App ID, sent as the firebase_app_id query parameter.
api_secretYesMeasurement Protocol API secret.
eu_endpointNoSend to region1.google-analytics.com (Google’s EU endpoint).
project_idNoInformational only.

API endpoint

POST https://www.google-analytics.com/mp/collect?firebase_app_id={app id}&api_secret={secret}

{"app_instance_id": "...", "user_id": "crm-user-7", "timestamp_micros": 1758500000123000,
 "ip_override": "203.0.113.7", "consent": {"ad_user_data": "GRANTED", "ad_personalization": "GRANTED"},
 "device": {"brand": "Google", "model": "Pixel 9", "operating_system": "Android", "operating_system_version": "16", "language": "de-DE"},
 "events": [{"name": "purchase", "params": {"transaction_id": "T-1001", "value": 104.5, "currency": "EUR",
   "items": [{"item_id": "SKU-1", "item_name": "Trail shoe", "price": 80, "quantity": 1}],
   "session_id": 1758499000, "engagement_time_msec": 1200}}]}

The endpoint answers 2xx even for payloads it discards; validate with the debug endpoint and DebugView. Source: Measurement Protocol reference (updated 2026-09-18, read 2026-09-22).

Presets

PresetEvents
Defaultsign_up, login, search, view_item, add_to_cart, begin_checkout, purchase, refund, generate_lead
Retailevery ecommerce event-spec event with its GA4 parameters
Insurance, Travel, Mediathe vertical’s event-spec events: GA4 recommended events where one exists, the others as custom events
GamingGA4 game events: tutorial_begin/tutorial_complete, level_start, level_end (with success), unlock_achievement, earn_virtual_currency, spend_virtual_currency, purchase; the rest as custom events

currency is upper-cased and value is a number. No personal data is sent.

ad_user_data and ad_personalization follow the visitor’s marketing consent (the only consent fields the Measurement Protocol accepts).

Blueprint

Blueprint version 0.6.0 (not yet tested against a live Firebase property).