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
| Field | Required | Description |
|---|---|---|
firebase_app_id | Yes | Firebase App ID, sent as the firebase_app_id query parameter. |
api_secret | Yes | Measurement Protocol API secret. |
eu_endpoint | No | Send to region1.google-analytics.com (Google’s EU endpoint). |
project_id | No | Informational 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
| Preset | Events |
|---|---|
| Default | sign_up, login, search, view_item, add_to_cart, begin_checkout, purchase, refund, generate_lead |
| Retail | every ecommerce event-spec event with its GA4 parameters |
| Insurance, Travel, Media | the vertical’s event-spec events: GA4 recommended events where one exists, the others as custom events |
| Gaming | GA4 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.
Consent
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).