OneSignal will automatically send notification events to your analytics dashboard if Google Analytics for Firebase is correctly implemented. Works with iOS and Android.
Google Analytics for Firebase is an event-tracking tool provided for free by Google Firebase. It allows you to easily track events within your app and analyze them later using various filters.
This integration does not support UTM parameters to the launch URL.On Web, the GA code will capture the values based on URL in the browser.On Mobile, you will need to capture these values and pass to GA. Our Notification Opened Event Handler can be used to get the notification payload.
Navigate to Data > Integrations and enable “Firebase”.This will begin sending event data to Firebase. If you wish to track influenced opens on iOS, you will need to perform some additional setup due to limitations in Firebase.
Verify that Firebase is attempting to send events related to OneSignal notificationsCheck in your application’s LogCat logs and look for Google Analytics for Firebase entries that indicate events corresponding to OneSignal are being sent. Look for os_notification_opened,os_notification_received, or os_notification_influence_open
Why are the clicked and opened events not showing in Firebase?
The Firebase click event os_notification_opened and received event os_notification_received may not work if the Firebase library has not initialized in time so the Firebase library drops the event. More details on this github issue.
Link your Firebase Database and use Firebase Cloud Functions with OneSignal following our Firebase Setup Tutorial.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"OneSignal Documentation","description":"OneSignal is a platform for sending push notifications, emails, in-app messages, and SMS campaigns via a single API, Journey Builder, and a dashboard.","colors":{"primary":"#3A3DB3","light":"#E54B4D","dark":"#3A3DB3"},"logo":{"light":"https://mintcdn.com/onesignal/yJcueeDCO7UpHnnY/logo/OneSignal-Logo.svg?fit=max\u0026auto=format\u0026n=yJcueeDCO7UpHnnY\u0026q=85\u0026s=1fcfb6fef6d820fd9d99c74850711107","dark":"https://mintcdn.com/onesignal/s4WC_KzLxf8ornqq/logo/OneSignal-Logo-White.svg?fit=max\u0026auto=format\u0026n=s4WC_KzLxf8ornqq\u0026q=85\u0026s=2573a53b5aea961e18c82b3af8f31925"},"favicon":"https://mintcdn.com/onesignal/SGduBFHpiRdg5l6h/favicon.ico?fit=max\u0026auto=format\u0026n=SGduBFHpiRdg5l6h\u0026q=85\u0026s=c0a99fadc0553c658a83741c5611cef4","api":{"examples":{"languages":["curl","typescript","python","php","go","ruby","java","csharp","rust"],"autogenerate":true}},"navbar":{"links":[{"href":"mailto:support@onesignal.com","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://dashboard.onesignal.com"}},"footer":{"socials":{"github":"https://github.com/OneSignal","linkedin":"https://linkedin.com/company/onesignal","youtube":"https://www.youtube.com/@onesignalofficial/playlists"}},"seo":{"metatags":{"apple-mobile-web-app-title":"OneSignal Docs"}},"fonts":{"family":"Nunito Sans"},"styling":{"eyebrows":"breadcrumbs","latex":true},"integrations":{"ga4":{"measurementId":"G-2DGWL0VYP5"},"posthog":{"apiKey":"phc_vZpvE0f5eyzcOt30FHer34yddVmNdo9kmlMVRBzLMtn","apiHost":"https://eu.i.posthog.com","sessionRecording":true}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"navigation":{"languages":[{"language":"en","href":"docs/en/home"},{"language":"cn","href":"docs/cn/home"},{"language":"ko","href":"docs/ko/home"},{"language":"ja","href":"docs/ja/home"},{"language":"tr","href":"docs/tr/home"},{"language":"pt-BR","href":"docs/pt-BR/home"},{"language":"es","href":"docs/es/home"},{"language":"fr","href":"docs/fr/home"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"onesignal","hasAudioNarration":false,"actualSubdomain":"onesignal","customDomains":["documentation.onesignal.com"],"gitSource":{"type":"github","owner":"onesignal","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af4cdb2d820fd504cae19ee","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"en","tag":"User Guides","count":204},{"language":"es","tag":"Guías del Usuario","count":178},{"language":"fr","tag":"Guides utilisateur","count":178},{"language":"ja","tag":"ユーザーガイド","count":178},{"language":"ko","tag":"사용자 가이드","count":178},{"language":"pt-BR","tag":"Guia do Usuário","count":178},{"language":"tr","tag":"Kullanıcı Kılavuzları","count":178},{"language":"cn","tag":"用户指南","count":176},{"language":"en","tag":"Message channels","count":90},{"language":"es","tag":"Canales de mensajería","count":84},{"language":"fr","tag":"Canaux de messagerie","count":84},{"language":"ja","tag":"メッセージングチャネル","count":84},{"language":"ko","tag":"메시지 채널","count":84},{"language":"pt-BR","tag":"Canais de mensagem","count":84},{"language":"tr","tag":"Mesaj kanalları","count":84},{"language":"cn","tag":"消息渠道","count":83},{"language":"default","tag":"API Reference","count":68},{"language":"default","tag":"API reference","count":64},{"language":"en","tag":"Analytics \u0026 Integrations","count":53},{"language":"es","tag":"Analítica \u0026 Integraciones","count":52},{"language":"fr","tag":"Analyses et intégrations","count":52},{"language":"ja","tag":"分析 \u0026 統合","count":52},{"language":"ko","tag":"분석 \u0026 통합","count":52},{"language":"pt-BR","tag":"Análises \u0026 Integrações","count":52},{"language":"tr","tag":"Analitik ve Entegrasyonlar","count":52},{"language":"cn","tag":"分析和集成","count":51},{"language":"cn","tag":"开发者指南","count":48},{"language":"es","tag":"Guías del desarrollador","count":48},{"language":"fr","tag":"Guides développeur","count":48},{"language":"ja","tag":"開発者ガイド","count":48},{"language":"ko","tag":"개발자 가이드","count":48},{"language":"tr","tag":"Geliştirici Kılavuzları","count":48},{"language":"en","tag":"Developer Guides","count":47},{"language":"pt-BR","tag":"Guia de desenvolvedor","count":47},{"language":"en","tag":"Integrations","count":37},{"language":"es","tag":"Integraciones","count":37},{"language":"fr","tag":"Intégrations","count":37},{"language":"ja","tag":"統合","count":37},{"language":"ko","tag":"통합","count":37},{"language":"pt-BR","tag":"Integrações","count":37},{"language":"tr","tag":"Entegrasyonlar","count":37},{"language":"cn","tag":"集成","count":36},{"language":"en","tag":"Tutorials","count":35},{"language":"cn","tag":"推送通知","count":31},{"language":"cn","tag":"OneSignal 作为目的地","count":31},{"language":"en","tag":"Push","count":31},{"language":"en","tag":"OneSignal as destination","count":31},{"language":"es","tag":"Push notificaciones","count":31},{"language":"es","tag":"OneSignal como destino","count":31},{"language":"fr","tag":"Push","count":31},{"language":"fr","tag":"OneSignal comme destination","count":31},{"language":"ja","tag":"プッシュ通知","count":31},{"language":"ja","tag":"OneSignal as 宛先","count":31},{"language":"ko","tag":"푸시","count":31},{"language":"ko","tag":"OneSignal을 데이터 목적지로 사용","count":31},{"language":"pt-BR","tag":"Push notificações","count":31},{"language":"pt-BR","tag":"OneSignal como destino","count":31},{"language":"tr","tag":"Anlık bildirimler","count":31},{"language":"tr","tag":"OneSignal hedef","count":31},{"language":"en","tag":"Mobile SDKs","count":26},{"language":"cn","tag":"移动SDK","count":25},{"language":"es","tag":"SDKs móviles","count":25},{"language":"fr","tag":"SDK mobiles","count":25},{"language":"ja","tag":"モバイルSDK","count":25},{"language":"ko","tag":"모바일 SDKs","count":25},{"language":"pt-BR","tag":"SDKs móveis","count":25},{"language":"tr","tag":"Mobil SDK'lar","count":25},{"language":"cn","tag":"教程","count":24},{"language":"es","tag":"Tutoriales","count":24},{"language":"fr","tag":"Tutoriels","count":24},{"language":"ja","tag":"チュートリアル","count":24},{"language":"ko","tag":"튜토리얼","count":24},{"language":"pt-BR","tag":"Tutoriais","count":24},{"language":"tr","tag":"Eğitimler","count":24},{"language":"en","tag":"Mobile SDK setup","count":19},{"language":"cn","tag":"移动SDK设置","count":18},{"language":"es","tag":"Configuración del SDK móvil","count":18},{"language":"fr","tag":"Configuration SDK mobile","count":18},{"language":"ja","tag":"モバイルSDKセットアップ","count":18},{"language":"ko","tag":"모바일 SDK 설정","count":18},{"language":"pt-BR","tag":"Configuração do SDK móvel","count":18},{"language":"tr","tag":"Mobil SDK kurulumu","count":18},{"language":"default","tag":"Messages","count":9},{"language":"default","tag":"Users","count":9},{"language":"default","tag":"Organization","count":9},{"language":"default","tag":"Journeys","count":8},{"language":"default","tag":"Deprecated","count":6},{"language":"default","tag":"Templates","count":6},{"language":"default","tag":"Subscriptions","count":6},{"language":"default","tag":"Segments","count":5}]},"assistantConfig":{"enableStarterQuestions":false,"deflection":{"enabled":true,"email":"support@onesignal.com","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"docs/en/google-analytics-for-firebase","slug":"/docs/en/google-analytics-for-firebase","pageMetadata":{"title":"Google Analytics for Firebase","description":"OneSignal will automatically send notification events to your analytics dashboard if Google Analytics for Firebase is correctly implemented. Works with iOS and Android.","keywords":["firebase","google analytics","analytics","integrations"],"href":"/docs/en/google-analytics-for-firebase"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"OneSignal will automatically send notification events to your analytics dashboard if Google Analytics for Firebase is correctly implemented. Works with iOS and Android.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,hr:`hr`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Check,CodeBlock,Frame,Heading,Note,OptimizedImage,Step,Steps,Table,Warning}=_components;if(!Check)_missingMdxReference(`Check`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://firebase.google.com/products/analytics`,children:`Google Analytics for Firebase`}),` is an event-tracking tool provided for free by Google Firebase. It allows you to easily track events within your app and analyze them later using various filters.`]}),`\n`,_jsxs(Warning,{children:[_jsx(_components.p,{children:`This integration does not support UTM parameters to the launch URL.`}),_jsx(_components.p,{children:`On Web, the GA code will capture the values based on URL in the browser.`}),_jsx(_components.p,{children:`On Mobile, you will need to capture these values and pass to GA. Our Notification Opened Event Handler can be used to get the notification payload.`})]}),`\n`,_jsx(Heading,{level:`2`,id:`events`,children:`Events`}),`\n`,_jsx(_components.p,{children:`The OneSignal SDK tracks events that pertain to notification open \u0026 receive events. The following events are sent:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Event Name`}),_jsx(_components.th,{children:`Details`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`os_notification_opened`})}),_jsx(_components.td,{children:`A OneSignal notification was opened`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`os_notification_received`})}),_jsxs(_components.td,{children:[`A OneSignal notification was received. (`,_jsx(_components.strong,{children:`Android Only`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`os_notification_influence_open`})}),_jsxs(_components.td,{children:[`An application was opened within 2 minutes of a OneSignal notification being received. (`,_jsx(_components.a,{href:`/docs/en/ios-sdk-setup`,children:`iOS requires additional setup`}),`)`]})]})]})]}),`\n`,_jsx(_components.p,{children:`The OneSignal SDK also sends parameters which contain more info about the particular notification the event is attributed to:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Parameter Name`}),_jsx(_components.th,{children:`Parameter Value`}),_jsx(_components.th,{children:`Details`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`source`})}),_jsx(_components.td,{children:`”OneSignal”`}),_jsx(_components.td,{children:`To attribute this event’s source to the OneSignal SDK`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`medium`})}),_jsx(_components.td,{children:`”notification”`}),_jsx(_components.td,{children:`A formal indication that the medium for the event is a notification`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`notification_id`})}),_jsxs(_components.td,{children:[`the `,_jsx(_components.code,{children:`notification_id`}),` from a particular OneSignal notification`]}),_jsx(_components.td,{children:`You can attribute a notification ID to a particular “sent” notification on the dashboard`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`campaign`})}),_jsxs(_components.td,{children:[`If using a template:`,_jsx(_components.code,{children:`[template_name]-[template_id]`}),` If not: First 10 letters of the `,_jsx(_components.code,{children:`headings`}),` `,_jsx(_components.a,{href:`/reference/push-notification`,children:`API property`}),` or notification Title.`]}),_jsx(_components.td,{children:`Campaigns are a way to group notifications that are similar, such as notifications using the same template or title.`})]})]})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`setup-onesignal-events-integration-with-google-analytics-for-firebase`,children:`Setup OneSignal events integration with Google Analytics for Firebase`}),`\n`,_jsx(Heading,{level:`3`,id:`setup-firebase`,children:`Setup Firebase`}),`\n`,_jsxs(_components.p,{children:[`Follow the `,_jsx(_components.a,{href:`https://firebase.google.com/docs/android/setup`,children:`Firebase integration documentation`}),` and verify that Firebase is correctly functioning inside your application.`]}),`\n`,_jsx(Heading,{level:`3`,id:`enable-firebase-in-onesignal`,children:`Enable Firebase in OneSignal`}),`\n`,_jsxs(_components.p,{children:[`Navigate to `,_jsx(_components.strong,{children:`Data > Integrations`}),` and enable `,_jsx(_components.strong,{children:`“Firebase”`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`This will begin sending event data to Firebase. If you wish to track influenced opens on iOS, you will need to perform some `,_jsx(_components.a,{href:`/docs/en/ios-sdk-setup`,children:`additional setup`}),` due to limitations in Firebase.`]}),`\n`,_jsx(Frame,{caption:`Firebase enabled in OneSignal`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/onesignal/yt4lRKoquAlWvRvF/images/integrations/Integrations.png?fit=max\u0026auto=format\u0026n=yt4lRKoquAlWvRvF\u0026q=85\u0026s=61a02b7a3829ff83ed2f1013c186b3e4`,\"data-path\":`images/integrations/Integrations.png`})}),`\n`,_jsx(Heading,{level:`3`,id:`verify-onesignal-events`,children:`Verify OneSignal events`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Check your app logs`,children:[_jsx(_components.p,{children:`Verify that Firebase is attempting to send events related to OneSignal notifications`}),_jsxs(_components.p,{children:[`Check in your application’s LogCat logs and look for Google Analytics for Firebase entries that indicate events corresponding to OneSignal are being sent. Look for `,_jsx(_components.code,{children:`os_notification_opened`}),`,`,_jsx(_components.code,{children:`os_notification_received`}),`, or `,_jsx(_components.code,{children:`os_notification_influence_open`})]}),_jsx(Frame,{caption:`Firebase events in LogCat`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/onesignal/6v_cVPknFpo5qSVB/images/docs/0dc5c63-firebase_analytics_3.png?fit=max\u0026auto=format\u0026n=6v_cVPknFpo5qSVB\u0026q=85\u0026s=0d20d440318aed8908313e89084d3bb9`,\"data-og-width\":`1560`,width:`1560`,\"data-og-height\":`42`,height:`42`,\"data-path\":`images/docs/0dc5c63-firebase_analytics_3.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/onesignal/6v_cVPknFpo5qSVB/images/docs/0dc5c63-firebase_analytics_3.png?w=280\u0026fit=max\u0026auto=format\u0026n=6v_cVPknFpo5qSVB\u0026q=85\u0026s=51ed41672dabad41f7a5ce9e98ce7020 280w, https://mintcdn.com/onesignal/6v_cVPknFpo5qSVB/images/docs/0dc5c63-firebase_analytics_3.png?w=560\u0026fit=max\u0026auto=format\u0026n=6v_cVPknFpo5qSVB\u0026q=85\u0026s=c4da71360677041d069f5e19d520f7bf 560w, https://mintcdn.com/onesignal/6v_cVPknFpo5qSVB/images/docs/0dc5c63-firebase_analytics_3.png?w=840\u0026fit=max\u0026auto=format\u0026n=6v_cVPknFpo5qSVB\u0026q=85\u0026s=db48d06a9334f00e8b667b26c95487f9 840w, https://mintcdn.com/onesignal/6v_cVPknFpo5qSVB/images/docs/0dc5c63-firebase_analytics_3.png?w=1100\u0026fit=max\u0026auto=format\u0026n=6v_cVPknFpo5qSVB\u0026q=85\u0026s=bca47e86a6ccc19b45b3ad96845777fd 1100w, https://mintcdn.com/onesignal/6v_cVPknFpo5qSVB/images/docs/0dc5c63-firebase_analytics_3.png?w=1650\u0026fit=max\u0026auto=format\u0026n=6v_cVPknFpo5qSVB\u0026q=85\u0026s=4d9c405e7a497bb6498dfee1fd46b2c8 1650w, https://mintcdn.com/onesignal/6v_cVPknFpo5qSVB/images/docs/0dc5c63-firebase_analytics_3.png?w=2500\u0026fit=max\u0026auto=format\u0026n=6v_cVPknFpo5qSVB\u0026q=85\u0026s=c2efa24ea6904f069f9cf7acfcb03266 2500w`})})]}),_jsxs(Step,{title:`Go to the Firebase console`,children:[_jsxs(_components.p,{children:[`Go to the `,_jsx(_components.a,{href:`https://console.firebase.google.com/`,children:`Firebase Console`}),` for your project`]}),_jsx(Frame,{caption:`Firebase console`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/onesignal/MUgio66t0sYhGEvj/images/docs/646c537-firebase_analytics_1.png?fit=max\u0026auto=format\u0026n=MUgio66t0sYhGEvj\u0026q=85\u0026s=2637f7f9b40c23e5d69f0ab0510a127e`,\"data-og-width\":`2878`,width:`2878`,\"data-og-height\":`1078`,height:`1078`,\"data-path\":`images/docs/646c537-firebase_analytics_1.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/onesignal/MUgio66t0sYhGEvj/images/docs/646c537-firebase_analytics_1.png?w=280\u0026fit=max\u0026auto=format\u0026n=MUgio66t0sYhGEvj\u0026q=85\u0026s=19795c32f2f95f0744b225b3e82f7835 280w, https://mintcdn.com/onesignal/MUgio66t0sYhGEvj/images/docs/646c537-firebase_analytics_1.png?w=560\u0026fit=max\u0026auto=format\u0026n=MUgio66t0sYhGEvj\u0026q=85\u0026s=f5cc9074b8108fd1e003d9e78dcacf32 560w, https://mintcdn.com/onesignal/MUgio66t0sYhGEvj/images/docs/646c537-firebase_analytics_1.png?w=840\u0026fit=max\u0026auto=format\u0026n=MUgio66t0sYhGEvj\u0026q=85\u0026s=2e26462268d174490297a45b2378d03e 840w, https://mintcdn.com/onesignal/MUgio66t0sYhGEvj/images/docs/646c537-firebase_analytics_1.png?w=1100\u0026fit=max\u0026auto=format\u0026n=MUgio66t0sYhGEvj\u0026q=85\u0026s=60d74291732d39595d7db7b8e134eb94 1100w, https://mintcdn.com/onesignal/MUgio66t0sYhGEvj/images/docs/646c537-firebase_analytics_1.png?w=1650\u0026fit=max\u0026auto=format\u0026n=MUgio66t0sYhGEvj\u0026q=85\u0026s=b7e21ea2119843882943dc3f82646690 1650w, https://mintcdn.com/onesignal/MUgio66t0sYhGEvj/images/docs/646c537-firebase_analytics_1.png?w=2500\u0026fit=max\u0026auto=format\u0026n=MUgio66t0sYhGEvj\u0026q=85\u0026s=5720e9d8f984bbb68f2730bbd59be49f 2500w`})})]}),_jsxs(Step,{title:`Follow the DebugView Setup Guide`,children:[_jsxs(_components.p,{children:[`Follow the `,_jsx(_components.a,{href:`https://firebase.google.com/docs/analytics/debugview`,children:`DebugView Setup Guide`})]}),_jsxs(_components.p,{children:[`The DebugView allows ADB to send Firebase events to your project when it’s in `,_jsx(_components.code,{children:`debug`}),` mode. Here is a great video on this for iOS: `,_jsx(_components.a,{href:`https://youtu.be/kpkW78OSbiw?t=289`,children:`https://youtu.be/kpkW78OSbiw?t=289`})]}),_jsx(_components.p,{children:`Example Debug Logs`}),_jsx(CodeBlock,{filename:`Xcode logs example`,numberOfLines:`19`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`19`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` 2021-09-22 14:58:20.731918-0700 OneSignalDemo[33301:1350721] 7.0.0 - [Firebase/Analytics][I-ACS023073] Debug mode is enabled. Marking event as debug and real-time. Event name, parameters: os_notification_opened, {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` campaign = Firebase t;`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` ga_debug (_dbg) = 1;`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` ga_event_origin (_o) = app;`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` ga_realtime (_r) = 1;`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` medium = notification;`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` notification_id = 2ecdd9bf-b2c0-443e-b5b2-7983d453c746;`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` source = OneSignal;`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` 2021-09-22 14:58:20.749723-0700 OneSignalDemo[33301:1350721] 7.0.0 - [Firebase/Analytics][I-ACS023072] Event logged. Event name, event params: os_notification_opened, {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` campaign = Firebase t;`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` ga_debug (_dbg) = 1;`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` ga_event_origin (_o) = app;`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` ga_realtime (_r) = 1;`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` medium = notification;`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` notification_id = 2ecdd9bf-b2c0-443e-b5b2-7983d453c746;`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` source = OneSignal;`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})})]}),_jsxs(Step,{title:`Check the DebugView`,children:[_jsx(_components.p,{children:`As OneSignal events propagate, they will appear in real-time on the DebugView`}),_jsx(Frame,{caption:`DebugView`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/onesignal/_KaXe4GQkxsEfa17/images/docs/39a888e-Screen_Shot_2021-09-22_at_3.16.55_PM.png?fit=max\u0026auto=format\u0026n=_KaXe4GQkxsEfa17\u0026q=85\u0026s=3bebf24697b77a5cc2acb5b0a06aec87`,\"data-og-width\":`3376`,width:`3376`,\"data-og-height\":`1756`,height:`1756`,\"data-path\":`images/docs/39a888e-Screen_Shot_2021-09-22_at_3.16.55_PM.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/onesignal/_KaXe4GQkxsEfa17/images/docs/39a888e-Screen_Shot_2021-09-22_at_3.16.55_PM.png?w=280\u0026fit=max\u0026auto=format\u0026n=_KaXe4GQkxsEfa17\u0026q=85\u0026s=8e3e3c34f137d59cca21a8dcbea9ff29 280w, https://mintcdn.com/onesignal/_KaXe4GQkxsEfa17/images/docs/39a888e-Screen_Shot_2021-09-22_at_3.16.55_PM.png?w=560\u0026fit=max\u0026auto=format\u0026n=_KaXe4GQkxsEfa17\u0026q=85\u0026s=b499342d7633ddba49ceff3785da2fdc 560w, https://mintcdn.com/onesignal/_KaXe4GQkxsEfa17/images/docs/39a888e-Screen_Shot_2021-09-22_at_3.16.55_PM.png?w=840\u0026fit=max\u0026auto=format\u0026n=_KaXe4GQkxsEfa17\u0026q=85\u0026s=34cf7eada416572b9ccb61cdfcd0e96d 840w, https://mintcdn.com/onesignal/_KaXe4GQkxsEfa17/images/docs/39a888e-Screen_Shot_2021-09-22_at_3.16.55_PM.png?w=1100\u0026fit=max\u0026auto=format\u0026n=_KaXe4GQkxsEfa17\u0026q=85\u0026s=7f2ce64d4ddf8ba8784fc00261975e2a 1100w, https://mintcdn.com/onesignal/_KaXe4GQkxsEfa17/images/docs/39a888e-Screen_Shot_2021-09-22_at_3.16.55_PM.png?w=1650\u0026fit=max\u0026auto=format\u0026n=_KaXe4GQkxsEfa17\u0026q=85\u0026s=78c8921639b20771591cb9791f064430 1650w, https://mintcdn.com/onesignal/_KaXe4GQkxsEfa17/images/docs/39a888e-Screen_Shot_2021-09-22_at_3.16.55_PM.png?w=2500\u0026fit=max\u0026auto=format\u0026n=_KaXe4GQkxsEfa17\u0026q=85\u0026s=56daffb6188f00da9aed4dd080531c78 2500w`})})]})]}),`\n`,_jsx(Check,{children:_jsx(_components.p,{children:_jsx(_components.strong,{children:`Your application has been verified to track OneSignal notification events through Google Analytics for Firebase!`})})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`faq`,children:`FAQ`}),`\n`,_jsx(Heading,{level:`3`,id:`why-are-the-clicked-and-opened-events-not-showing-in-firebase`,children:`Why are the clicked and opened events not showing in Firebase?`}),`\n`,_jsxs(_components.p,{children:[`The Firebase click event `,_jsx(_components.code,{children:`os_notification_opened`}),` and received event `,_jsx(_components.code,{children:`os_notification_received`}),` may not work if the Firebase library has not initialized in time so the Firebase library drops the event. More details on `,_jsx(_components.a,{href:`https://github.com/OneSignal/OneSignal-Android-SDK/issues/949`,children:`this github issue`}),`.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Link your Firebase Database and use Firebase Cloud Functions with OneSignal following our `,_jsx(_components.a,{href:`/docs/en/google-analytics-for-firebase`,children:`Firebase Setup Tutorial`}),`.`]})}),`\n`,_jsx(_components.hr,{})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Google Analytics for Firebase","description":"OneSignal will automatically send notification events to your analytics dashboard if Google Analytics for Firebase is correctly implemented. Works with iOS and Android.","keywords":["firebase","google analytics","analytics","integrations"],"href":"/docs/en/google-analytics-for-firebase"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Events","slug":"events","depth":2,"children":[]},{"title":"Setup OneSignal events integration with Google Analytics for Firebase","slug":"setup-onesignal-events-integration-with-google-analytics-for-firebase","depth":2,"children":[{"title":"Setup Firebase","slug":"setup-firebase","depth":3,"children":[]},{"title":"Enable Firebase in OneSignal","slug":"enable-firebase-in-onesignal","depth":3,"children":[]},{"title":"Verify OneSignal events","slug":"verify-onesignal-events","depth":3,"children":[]}]},{"title":"FAQ","slug":"faq","depth":2,"children":[{"title":"Why are the clicked and opened events not showing in Firebase?","slug":"why-are-the-clicked-and-opened-events-not-showing-in-firebase","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/onesignal/e069c1b9f3157e14/hotjar-koala.js","/_mintlify/custom/onesignal/3e5d03885ab32f49/intercom.js","/_mintlify/custom/onesignal/dbb7af4794d1b586/munchkin-marketo.js"],"subdomain":"onesignal","siteName":"OneSignal Documentation","title":"Google Analytics for Firebase - OneSignal Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/docs/en/google-analytics-for-firebase","matchLevel":0},"cn":{"href":"/docs/cn/home","matchLevel":4},"ko":{"href":"/docs/ko/home","matchLevel":4},"ja":{"href":"/docs/ja/home","matchLevel":4},"tr":{"href":"/docs/tr/home","matchLevel":4},"pt-BR":{"href":"/docs/pt-BR/home","matchLevel":4},"es":{"href":"/docs/es/home","matchLevel":4},"fr":{"href":"/docs/fr/home","matchLevel":4}}},"lastModified":"2026-01-28T10:01:57.021Z","originalFileLocation":"docs/en/google-analytics-for-firebase.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"OneSignal will automatically send notification events to your analytics dashboard if Google Analytics for Firebase is correctly implemented. Works with iOS and Android.\">\u003cmeta data-mint-head name=\"application-name\" content=\"OneSignal Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Google Analytics for Firebase - OneSignal Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"OneSignal will automatically send notification events to your analytics dashboard if Google Analytics for Firebase is correctly implemented. Works with iOS and Android.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"OneSignal Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://documentation.onesignal.com/docs/en/google-analytics-for-firebase\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://onesignal.mintlify.site/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Google+Analytics+for+Firebase\u0026amp;description=OneSignal+will+automatically+send+notification+events+to+your+analytics+dashboard+if+Google+Analytics+for+Firebase+is+correctly+implemented.+Works+with+iOS+and+\u0026amp;theme=12e705baa88dc8cc6d7a9877\u0026amp;signature=f19413aed8e30f16781f25dd9c5142961ec0a71c244871ffc26aa6525bba2f02\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Google Analytics for Firebase - OneSignal Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"OneSignal will automatically send notification events to your analytics dashboard if Google Analytics for Firebase is correctly implemented. Works with iOS and Android.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://onesignal.mintlify.site/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Google+Analytics+for+Firebase\u0026amp;description=OneSignal+will+automatically+send+notification+events+to+your+analytics+dashboard+if+Google+Analytics+for+Firebase+is+correctly+implemented.+Works+with+iOS+and+\u0026amp;theme=12e705baa88dc8cc6d7a9877\u0026amp;signature=f19413aed8e30f16781f25dd9c5142961ec0a71c244871ffc26aa6525bba2f02\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"OneSignal Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3A3DB3\">\u003clink data-mint-head rel=\"canonical\" href=\"https://documentation.onesignal.com/docs/en/google-analytics-for-firebase\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/en/google-analytics-for-firebase.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"OneSignal Documentation\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"OneSignal Documentation\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/docs/en/google-analytics-for-firebase.md","siteName":"OneSignal Documentation","nav":{"global":null,"languages":[{"language":"en","tabs":[{"tab":"Home","pages":[{"title":"OneSignal Documentation","mode":"custom","href":"/docs/en/home"}]},{"tab":"User Guides","groups":[{"group":"First steps \u0026 settings","pages":[{"title":"Getting started with OneSignal","href":"/docs/en/quickstart-guide"},{"group":"OneSignal dashboard","pages":[{"title":"Apps, Organizations, \u0026 Accounts","href":"/docs/en/apps-organizations"},{"title":"Team members","href":"/docs/en/manage-team-members"},{"title":"Keys \u0026 IDs","href":"/docs/en/keys-and-ids"},{"title":"Audit logs","href":"/docs/en/audit-logs"},{"title":"Usage \u0026 billing","href":"/docs/en/billing-faq"},{"title":"Organization discovery","href":"/docs/en/organization-discovery"},{"title":"Disabled apps \u0026 organizations","href":"/docs/en/disabled-apps"}]},{"title":"Migrating to OneSignal","href":"/docs/en/migrating-to-onesignal"}]},{"group":"Message channels","pages":[{"title":"Channel setup","href":"/docs/en/channel-setup"},{"group":"Push","pages":[{"title":"Push overview","href":"/docs/en/push"},{"group":"Mobile push","pages":[{"title":"Mobile push setup","href":"/docs/en/mobile-push-setup"},{"title":"Prompt for push permissions","href":"/docs/en/prompt-for-push-permissions"},{"title":"iOS provisional push notifications","href":"/docs/en/ios-provisional-push-notifications"},{"title":"Android notification categories","href":"/docs/en/android-notification-categories"},{"title":"Data \u0026 background notifications","href":"/docs/en/data-notifications"},{"title":"VoIP push notifications","href":"/docs/en/voip-notifications"}]},{"group":"Web push","pages":[{"title":"Web push setup","href":"/docs/en/web-push-setup"},{"title":"Web permission prompts","href":"/docs/en/permission-requests"},{"title":"Web push FAQ","href":"/docs/en/web-push-setup-faq"},{"title":"Web push browser behavior","href":"/docs/en/browser-behavior-and-unsubscribes"},{"title":"Shopify integration (via Vendo)","href":"/docs/en/shopify"},{"title":"OneSignal WordPress plugin setup for web push","href":"/docs/en/wordpress"},{"title":"WordPress troubleshooting","href":"/docs/en/troubleshooting-wordpress-web-push"}]},{"group":"Push features","pages":[{"title":"Notification icons","href":"/docs/en/notification-icons"},{"title":"Notification images \u0026 rich media","href":"/docs/en/rich-media"},{"title":"Notification sounds","href":"/docs/en/notification-sounds"},{"title":"Notification badges","href":"/docs/en/badges"},{"title":"Action buttons for push notifications","href":"/docs/en/action-buttons"},{"title":"Push frequency capping","href":"/docs/en/frequency-capping"},{"title":"Push throttling","href":"/docs/en/throttling"},{"title":"iOS: Focus modes and interruption levels","href":"/docs/en/ios-focus-modes-and-interruption-levels"},{"title":"iOS: Relevance score","href":"/docs/en/ios-relevance-score"}]},{"group":"Push analytics \u0026 troubleshooting","pages":[{"title":"Push message reports","href":"/docs/en/push-notification-message-reports"},{"title":"Confirmed receipt","href":"/docs/en/confirmed-delivery"},{"title":"Notification click-through rate (CTR)","href":"/docs/en/notification-ctr"},{"title":"Mobile push: Notifications not shown or delayed","href":"/docs/en/notifications-show-successful-but-are-not-being-shown"},{"title":"Web push: Notifications not shown","href":"/docs/en/notifications-not-shown-web-push"},{"title":"Notification Images Not Showing","href":"/docs/en/notification-images-not-showing"},{"title":"Duplicated notifications","href":"/docs/en/duplicated-notifications"},{"title":"FCM expired token FAQ","href":"/docs/en/fcm-expired-token-faq"}]}]},{"group":"In-app messages","pages":[{"title":"In-app overview","href":"/docs/en/in-app-messages-setup"},{"title":"In-app triggers","href":"/docs/en/iam-triggers"},{"title":"In-app click actions","href":"/docs/en/iam-click-actions"},{"group":"In-app design","pages":[{"title":"Design in-app messages with drag-and-drop","href":"/docs/en/design-your-in-app-message"},{"title":"Design in-app messages with HTML","href":"/docs/en/design-your-in-app-message-with-html"},{"title":"In-app message templates \u0026 quickstarts","href":"/docs/en/in-app-html-templates"},{"title":"In-app message JavaScript API reference","href":"/docs/en/in-app-message-api"}]},{"title":"In-app message reports","href":"/docs/en/in-app-message-reports"},{"title":"In-app troubleshooting","href":"/docs/en/in-app-message-troubleshooting"}]},{"group":"Email","pages":[{"title":"Email overview","href":"/docs/en/email-messaging"},{"group":"Email setup","pages":[{"title":"Email setup","href":"/docs/en/email-setup"},{"title":"Email DNS configuration","href":"/docs/en/email-dns-configuration"},{"title":"Senders","href":"/docs/en/senders"},{"title":"BCC emails","href":"/docs/en/email-bcc"},{"title":"Transactional emails","href":"/docs/en/setup-transactional-emails"},{"title":"Create a custom email unsubscribe page","href":"/docs/en/create-custom-unsubscribe-page"}]},{"group":"Email deliverability \u0026 analytics","pages":[{"title":"Email message reports","href":"/docs/en/email-message-reports"},{"title":"Email deliverability","href":"/docs/en/email-deliverability"},{"title":"Deliverability insights by inbox provider","href":"/docs/en/email-deliverability-insights"},{"title":"Email reputation best practices","href":"/docs/en/email-reputation-best-practices"},{"title":"Email address validation","href":"/docs/en/email-address-validation"},{"title":"Email warm-up","href":"/docs/en/email-warm-up"},{"title":"Google Postmaster Tools","href":"/docs/en/google-postmaster-tools"},{"title":"Suppressions","href":"/docs/en/suppressions"},{"title":"Email troubleshooting","href":"/docs/en/email-troubleshooting"}]},{"group":"Design your emails","pages":[{"title":"Design emails with drag-and-drop","href":"/docs/en/design-emails-with-drag-and-drop"},{"title":"Design emails with HTML","href":"/docs/en/design-emails-with-html"},{"title":"Email unsubscribe links \u0026 headers","href":"/docs/en/unsubscribe-links-email-subscriptions"},{"title":"Email template forwarding","href":"/docs/en/email-template-forwarding"}]}]},{"group":"SMS \u0026 RCS","pages":[{"title":"SMS, MMS, and RCS overview","href":"/docs/en/sms-messaging"},{"title":"Rich Communication Services (RCS)","href":"/docs/en/rcs-messaging"},{"group":"SMS setup","pages":[{"title":"SMS setup","href":"/docs/en/sms-setup"},{"title":"Sender resource applications and country requirements","sidebarTitle":"Sender resource applications","href":"/docs/en/sms-registration-requirements"},{"title":"SMS opt-in and collection","href":"/docs/en/sms-opt-in-and-collection"},{"title":"SMS consent keyword management","href":"/docs/en/sms-consent-keyword-management"},{"title":"SMS keywords","href":"/docs/en/keywords"}]},{"group":"SMS messaging","pages":[{"title":"Promotional messaging","href":"/docs/en/sms-promotional-messaging"},{"title":"Transactional messaging","href":"/docs/en/sms-transactional-messaging"},{"title":"One-time passwords (OTP)","sidebarTitle":"One-time passwords","href":"/docs/en/sms-verify"},{"title":"Composing messages","href":"/docs/en/sms-composing-messages"},{"title":"SMS message reports","href":"/docs/en/sms-message-reports"}]}]},{"group":"Live Activities","pages":[{"title":"Live Activities","href":"/docs/en/live-activities"},{"title":"Live Activities analytics","href":"/docs/en/live-activities-analytics"}]},{"group":"Features","pages":[{"title":"A/B testing","href":"/docs/en/ab-testing"},{"title":"Multi-language messaging","href":"/docs/en/multi-language-messaging"},{"title":"Brand Kit","href":"/docs/en/brand-kit"},{"group":"Personalization","pages":[{"title":"Personalization","href":"/docs/en/message-personalization"},{"title":"Using Liquid syntax","href":"/docs/en/using-liquid-syntax"},{"title":"Data feeds","href":"/docs/en/data-feeds"},{"title":"Personalize with Custom Events","href":"/docs/en/personalization-custom-event"},{"title":"Personalize with properties","href":"/docs/en/personalization-properties-and-tags"},{"title":"Personalize messages with API custom_data","href":"/docs/en/personalization-api-custom-data"},{"title":"Dynamic Content with CSV","href":"/docs/en/dynamic-content"}]},{"group":"URLs, Links, \u0026 Deep Links","pages":[{"title":"URLs, links, \u0026 deep links","href":"/docs/en/links"},{"title":"Deep linking","href":"/docs/en/deep-linking"},{"title":"Email unsubscribe links \u0026 headers","href":"/docs/en/unsubscribe-links-email-subscriptions"}]},{"title":"Retargeting messages","href":"/docs/en/retargeting"},{"title":"Templates","href":"/docs/en/templates"},{"title":"Labels","href":"/docs/en/labels"}]}]},{"group":"Journeys","pages":[{"title":"Journeys overview","href":"/docs/en/journeys-overview"},{"group":"Journey features","pages":[{"title":"Journey settings","href":"/docs/en/journeys-settings"},{"title":"Journey messages","href":"/docs/en/journeys-messages"},{"title":"Journey message A/B testing","sidebarTitle":"A/B testing","tag":"BETA","href":"/docs/en/journeys-ab-testing"},{"title":"Journey actions","href":"/docs/en/journeys-actions"},{"title":"Journey webhooks","href":"/docs/en/journeys-webhook"},{"title":"Send WhatsApp Messages via Journey Webhooks","href":"/docs/en/sending-whatsapp-messages-via-journey-webhooks"},{"title":"Managing journeys","href":"/docs/en/managing-journeys"},{"title":"Journey version history","tag":"NEW","href":"/docs/en/journeys-version-history"},{"title":"Journey analytics","href":"/docs/en/journeys-analytics"}]},{"title":"Journey examples","href":"/docs/en/journeys-examples"},{"title":"Control Journey membership with tags","href":"/docs/en/journeys-membership-tags"}]},{"group":"OneSignal AI","pages":[{"title":"OneSignal AI","tag":"BETA","href":"/docs/en/onesignal-ai"},{"title":"OneSignal AI skills","sidebarTitle":"Skills","tag":"BETA","href":"/docs/en/onesignal-ai-skills"},{"title":"Check message","tag":"BETA","href":"/docs/en/check-message"},{"title":"OneSignal Home","href":"/docs/en/onesignal-home"},{"title":"OneSignal MCP Server","href":"/docs/en/model-context-protocol"},{"title":"Manage Journeys with MCP","href":"/docs/en/mcp-journeys"},{"title":"OneSignal AI data practices","mode":"frame","href":"/docs/en/ai-data-practices"},{"title":"AI message composer","href":"/docs/en/ai-message-composer"},{"title":"OneSignal Slack Agent","hidden":true,"tag":"BETA","href":"/docs/en/slack-agent"}]},{"group":"Audience \u0026 events","pages":[{"title":"Segments","href":"/docs/en/segmentation"},{"title":"User-based segmentation","tag":"BETA","href":"/docs/en/user-based-segmentation"},{"group":"Users \u0026 Subscriptions","pages":[{"title":"Users","href":"/docs/en/users"},{"title":"Subscriptions","href":"/docs/en/subscriptions"},{"title":"Sessions","href":"/docs/en/sessions"},{"title":"User and Subscription Profiles","href":"/docs/en/user-subscription-profiles"},{"title":"Aliases","href":"/docs/en/aliases"},{"title":"Test users","href":"/docs/en/test-users"},{"title":"Delete users","href":"/docs/en/delete-users"}]},{"group":"Events","pages":[{"title":"Message events","href":"/docs/en/message-events"},{"title":"Session events","href":"/docs/en/session-events"},{"group":"Custom events","pages":[{"title":"Custom events","href":"/docs/en/custom-events"},{"title":"Custom event best practices","href":"/docs/en/custom-event-best-practices"},{"title":"Custom event storage and retention","href":"/docs/en/custom-event-storage"}]}]},{"group":"Tags","pages":[{"title":"Tags","href":"/docs/en/add-user-data-tags"},{"title":"Tags: Time Operators","href":"/docs/en/time-operators"}]},{"title":"Import","href":"/docs/en/import"}]},{"group":"Analytics \u0026 Integrations","pages":[{"group":"Analytics","pages":[{"title":"Analytics overview","href":"/docs/en/analytics-overview"},{"title":"Metrics glossary","href":"/docs/en/analytics-metrics-glossary"},{"title":"Goals","sidebarTitle":"Goals","tag":"BETA","href":"/docs/en/goals"},{"title":"Exporting data","href":"/docs/en/exporting-data"},{"title":"Template analytics","href":"/docs/en/template-analytics"},{"title":"Conversion metrics","href":"/docs/en/conversion-metrics"},{"title":"Engagement trends","href":"/docs/en/engagement-analytics"},{"title":"Subscription trends","href":"/docs/en/subscription-trends"},{"title":"Sessions volume","href":"/docs/en/sessions-volume"},{"group":"Retention metrics","pages":[{"title":"Retention metrics","href":"/docs/en/retention-metrics"},{"title":"Interpreting retention curves","href":"/docs/en/interpreting-retention-curves"}]},{"title":"Custom Outcomes","href":"/docs/en/custom-outcomes"}]},{"group":"Event Streams","pages":[{"title":"Event Streams","href":"/docs/en/event-streams"},{"title":"Event Stream data reference","sidebarTitle":"Event Stream data","href":"/docs/en/event-streams-data"},{"title":"In-app message event streams","href":"/docs/en/iam-event-streams"},{"title":"Google Sheets integration with Event Streams","href":"/docs/en/google-sheets-integration-with-event-streams"}]},{"group":"Integrations","pages":[{"title":"Integrations overview","href":"/docs/en/integrations"},{"title":"Data warehouse, DMP, \u0026 CRM integration","href":"/docs/en/database-dmp-crm-integration"},{"group":"OneSignal as data source","pages":[{"title":"Amplitude","href":"/docs/en/amplitude"},{"title":"Databricks","href":"/docs/en/databricks"},{"title":"Google BigQuery","href":"/docs/en/bigquery"},{"title":"Mixpanel","href":"/docs/en/mixpanel"},{"title":"Snowflake","href":"/docs/en/snowflake"},{"title":"Segment (Twilio)","href":"/docs/en/segment-onesignal-integration"}]},{"group":"OneSignal as destination","pages":[{"title":"Adobe Audience Manager","href":"/docs/en/adobe-audience-manager"},{"title":"AlloyDB","href":"/docs/en/alloydb"},{"title":"Amazon Athena","href":"/docs/en/amazon-athena"},{"title":"Amazon S3","href":"/docs/en/s3"},{"title":"Amplitude","href":"/docs/en/amplitude"},{"title":"Apache Kafka","href":"/docs/en/kafka"},{"title":"Amazon Redshift","href":"/docs/en/amazon-redshift"},{"title":"Azure Synapse","href":"/docs/en/azure-synapse"},{"title":"ClickHouse","href":"/docs/en/clickhouse"},{"title":"Confluent Cloud","href":"/docs/en/confluent-cloud"},{"title":"Databricks","href":"/docs/en/databricks"},{"title":"Elasticsearch","href":"/docs/en/elasticsearch"},{"title":"Google BigQuery","href":"/docs/en/bigquery"},{"title":"Google Cloud SQL","href":"/docs/en/google-cloud-sql"},{"title":"Google Sheets","href":"/docs/en/google-sheets"},{"title":"Greenplum","href":"/docs/en/greenplum"},{"title":"HubSpot","href":"/docs/en/hubspot"},{"title":"Materialize","href":"/docs/en/materialize"},{"title":"Microsoft Fabric","href":"/docs/en/microsoft-fabric"},{"title":"Mixpanel","href":"/docs/en/mixpanel"},{"title":"MotherDuck","href":"/docs/en/motherduck"},{"title":"MySQL","href":"/docs/en/mysql"},{"title":"PostgreSQL","href":"/docs/en/postgresql"},{"title":"Pub/Sub","href":"/docs/en/google-pubsub"},{"title":"SingleStore","href":"/docs/en/singlestore"},{"title":"Snowflake","href":"/docs/en/snowflake"},{"title":"SQL Server","href":"/docs/en/sql-server"},{"title":"Starburst Enterprise","href":"/docs/en/starburst-enterprise"},{"title":"Starburst Galaxy","href":"/docs/en/starburst-galaxy"},{"title":"Trino","href":"/docs/en/trino"},{"title":"Segment (Twilio)","href":"/docs/en/segment-onesignal-integration"}]},{"group":"Attribution","pages":[{"title":"RevenueCat","href":"/docs/en/revenuecat"},{"title":"Adjust","href":"/docs/en/adjust"},{"title":"BlueConic","href":"/docs/en/blueconic"}]},{"title":"Building an integration with OneSignal: partner guide","href":"/docs/en/building-an-integration-with-onesignal-partner-guide"}]}]},{"group":"Privacy \u0026 Security","pages":[{"group":"Security credentials","pages":[{"title":"SOC 2 Type II","href":"/docs/en/soc-2-type-ii"},{"title":"ISO 27001","href":"/docs/en/iso27001"},{"title":"HIPAA","href":"/docs/en/hipaa"}]},{"group":"Data privacy \u0026 regulatory compliance","pages":[{"title":"GDPR \u0026 Individual Rights","href":"/docs/en/gdpr-compliance"},{"title":"EU-US Data Privacy Framework","href":"/docs/en/eu-us-data-privacy-framework"},{"title":"Email regulatory compliance","href":"/docs/en/email-compliance"},{"title":"SMS regulatory compliance","href":"/docs/en/sms-regulatory-compliance"},{"title":"Apple App Privacy Requirements","href":"/docs/en/apple-app-privacy-requirements"},{"title":"Google Play Data Safety Requirements","href":"/docs/en/google-play-data-safety-requirements"},{"title":"Data collection \u0026 security FAQs","href":"/docs/en/data-questions"},{"title":"Data collected by the OneSignal SDK","href":"/docs/en/data-collected-by-the-onesignal-sdk"},{"title":"Handling personal data","href":"/docs/en/handling-personal-data"},{"title":"Data taxonomy","href":"/docs/en/data-taxonomy"},{"title":"OneSignal AI data practices","mode":"frame","href":"/docs/en/ai-data-practices"}]},{"group":"Authentication","pages":[{"title":"2-step authentication","href":"/docs/en/2-step-authentication"},{"title":"Single Sign-On (SSO)","href":"/docs/en/sso"}]}]}]},{"tab":"Developer Guides","groups":[{"group":"Developer Documentation","pages":[{"title":"Developers","href":"/docs/en/developers"},{"title":"Identity verification","href":"/docs/en/identity-verification"},{"group":"User model","pages":[{"title":"User model \u0026 migration guide","href":"/docs/en/user-model-migration-guide"},{"title":"Mobile SDK Mapping","href":"/docs/en/device-user-model-mobile-sdk-mapping"},{"title":"Web SDK Mapping","href":"/docs/en/device-user-model-web-sdk-mapping"}]}]},{"group":"Mobile SDKs","pages":[{"group":"Mobile SDK setup","pages":[{"title":"Mobile SDK setup","href":"/docs/en/mobile-sdk-setup"},{"group":"Platform credential setup","pages":[{"title":"Android Firebase credentials","href":"/docs/en/android-firebase-credentials"},{"title":"iOS p8 token-based connection to APNs","href":"/docs/en/ios-p8-token-based-connection-to-apns"},{"title":"iOS p12 certificate generation","href":"/docs/en/ios-p12-generate-certificates"},{"title":"Amazon API key generation","href":"/docs/en/generate-an-amazon-api-key"},{"title":"Huawei authorization","href":"/docs/en/authorize-onesignal-to-send-huawei-push"}]},{"title":"iOS SDK setup","href":"/docs/en/ios-sdk-setup"},{"group":"Android SDK setup","pages":[{"title":"Android SDK setup","href":"/docs/en/android-sdk-setup"},{"title":"Firebase Installation ID registration","href":"/docs/en/android-firebase-installation-id"}]},{"title":"Unity SDK setup","href":"/docs/en/unity-sdk-setup"},{"title":"React Native SDK setup","href":"/docs/en/react-native-sdk-setup"},{"title":"Expo SDK setup","href":"/docs/en/react-native-expo-sdk-setup"},{"title":"Flutter SDK setup","href":"/docs/en/flutter-sdk-setup"},{"title":"Flutterflow SDK setup","href":"/docs/en/flutterflow-sdk-setup"},{"title":"Cordova SDK setup","href":"/docs/en/cordova-sdk-setup"},{"title":"Capacitor SDK setup","href":"/docs/en/capacitor-sdk-setup"},{"title":".NET MAUI SDK setup","href":"/docs/en/net-sdk-setup"},{"title":"Amazon SDK setup","href":"/docs/en/amazon-sdk-setup"},{"title":"Huawei SDK setup","href":"/docs/en/huawei-sdk-setup"}]},{"group":"Mobile SDK reference","pages":[{"title":"Mobile SDK reference","href":"/docs/en/mobile-sdk-reference"},{"title":"Mobile service extensions","href":"/docs/en/service-extensions"},{"title":"Managing the notification tray","href":"/docs/en/managing-the-notification-tray"},{"title":"OSNotification payload","href":"/docs/en/osnotification-payload"},{"title":"iOS: App Clip Support","href":"/docs/en/app-clip-support"}]},{"group":"Mobile SDK troubleshooting","pages":[{"title":"Mobile SDK troubleshooting","href":"/docs/en/mobile-troubleshooting"},{"title":"Getting a Debug Log","href":"/docs/en/capturing-a-debug-log"}]}]},{"group":"Web SDKs","pages":[{"group":"Web SDK setup","pages":[{"title":"Web SDK setup","href":"/docs/en/web-sdk-setup"},{"title":"iOS web push setup","href":"/docs/en/web-push-for-ios"},{"title":"OneSignal service worker","href":"/docs/en/onesignal-service-worker"},{"title":"Custom code web push setup with the OneSignal Web SDK","href":"/docs/en/web-push-custom-code-setup"},{"title":"Google Tag Manager setup","href":"/docs/en/google-tag-manager"},{"title":"Angular Web SDK setup","href":"/docs/en/angular-setup"},{"title":"ReactJS \u0026 NextJS Setup","href":"/docs/en/react-js-setup"},{"title":"Vue JS Web SDK setup","href":"/docs/en/vue-js-setup"}]},{"title":"Web SDK reference","href":"/docs/en/web-sdk-reference"},{"group":"Web SDK troubleshooting","pages":[{"title":"Web SDK troubleshooting","href":"/docs/en/troubleshooting-web-push"},{"title":"Clearing cache and resetting push permissions","href":"/docs/en/clearing-cache-and-resetting-push-permissions"},{"title":"Web push webhooks","sidebarTitle":"Web push webhooks (legacy)","href":"/docs/en/webhooks"}]}]},{"group":"Live Activities","pages":[{"title":"Live Activities developer setup","href":"/docs/en/live-activities-developer-setup"},{"title":"Cross-platform Live Activity SDK setup","href":"/docs/en/cross-platform-live-activity-setup"},{"title":"Android Live Update notifications","href":"/docs/en/android-live-notifications"}]},{"group":"Desktop \u0026 Watch Setup","pages":[{"title":"macOS app setup","href":"/docs/en/macos-app-setup"},{"title":"Windows app setup","href":"/docs/en/windows-app-setup"},{"title":"watchOS \u0026 Wear OS Support","href":"/docs/en/watchos-and-wear-os-support"}]},{"group":"Legacy SDK reference","pages":[{"group":"v3-4 Client SDK reference","pages":[{"title":"v3-4 Client SDK Reference","href":"/v9.0/docs/sdk-reference"},{"title":"v3-4 SDK SDK Notification Event Handlers","href":"/v9.0/docs/sdk-notification-event-handlers"},{"title":"v4 Android Mobile Service Extensions","href":"/v9.0/docs/service-extensions"},{"title":"v3-4 SDK In-App Message SDK Methods","href":"/v9.0/docs/iam-sdk-methods"},{"title":"v3-4 SDK Web SDK Methods","href":"/v9.0/docs/web-push-sdk"},{"title":"v3-4 SDK SMS SDK Methods","href":"/v9.0/docs/sms-sdk-methods"},{"title":"v3-4 SDK Email SDK Methods","href":"/v9.0/docs/email-sdk-methods"}]},{"title":"v3-4 SDK Capturing a Debug Log","href":"/v9.0/docs/capturing-a-debug-log"},{"title":"v3-4 SDK Identity Verification","href":"/v9.0/docs/identity-verification"},{"title":"v3-4 SDK Handling Personal Data","href":"/v9.0/docs/handling-personal-data"}]}]},{"tab":"Tutorials","groups":[{"group":"Tutorials","pages":[{"title":"Tutorials \u0026 use cases","href":"/docs/en/tutorials"}]},{"group":"Industry strategies","pages":[{"title":"Mobile-first strategies","href":"/docs/en/mobile-first"},{"title":"Gaming strategies","href":"/docs/en/gaming-industry"},{"title":"Ecommerce strategies","href":"/docs/en/ecommerce-strategies"},{"title":"News and media strategies","href":"/docs/en/news-and-media-industry"},{"title":"Financial and fintech strategies","href":"/docs/en/financial-fintech-industry"}]},{"group":"Onboard new users","pages":[{"title":"Mobile-first lifecycle Journeys","href":"/docs/en/mobile-first-journeys"},{"title":"Welcome Journey: Mobile gaming","href":"/docs/en/welcome-journey-mobile-gaming"},{"title":"Category onboarding for news and media","href":"/docs/en/welcome-journey-news-media"},{"title":"Build a button-driven onboarding carousel","href":"/docs/en/in-app-onboarding-carousel-tutorial"},{"title":"Request location permissions with in-app messages","href":"/docs/en/location-opt-in-prompt"},{"title":"Onboard users with banner in-app messages","href":"/docs/en/example-create-a-tutorial"}]},{"group":"Engage and convert","pages":[{"title":"Event-driven Journeys","href":"/docs/en/event-driven-journeys"},{"title":"Abandoned cart tutorial","href":"/docs/en/abandoned-cart"},{"title":"Loyalty Journey","href":"/docs/en/loyalty-journey"},{"title":"Flash sale Journey","href":"/docs/en/flash-sale"},{"title":"Back-in-stock alerts","href":"/docs/en/back-in-stock-alerts"},{"title":"Location-based messages","href":"/docs/en/location-triggered-event"},{"title":"iOS: Image Carousel Push Notifications","href":"/docs/en/ios-image-carousel-push-notifications"},{"title":"Social activity","href":"/docs/en/social-activity"},{"title":"Create activity feed","href":"/docs/en/create-an-activity-feed"},{"title":"Create a survey to ask for feedback","href":"/docs/en/example-create-a-survey"}]},{"group":"Retain and re-engage","pages":[{"title":"Paid plan subscription renewal \u0026 expiry Journey","href":"/docs/en/paid-plan-renewal-expiry"},{"title":"Daily streak journey","href":"/docs/en/daily-streak"},{"title":"Get more app store reviews","href":"/docs/en/example-app-store-review"},{"title":"Target outdated app versions to encourage app updates","sidebarTitle":"App version update prompts","href":"/docs/en/app-version-update"},{"title":"Fallback messages: Ensuring delivery across channels","href":"/docs/en/push-fallback-method"}]},{"group":"Operational","pages":[{"title":"Transactional messages","href":"/docs/en/transactional-messages"},{"title":"Set up confirmed opt-in for email","href":"/docs/en/double-opt-in-email"},{"title":"Preference center","href":"/docs/en/preference-center"},{"title":"Booking confirmations","href":"/docs/en/booking-confirmations"},{"title":"Send verification, magic link, OTP, and double opt-in messages","href":"/docs/en/example-verification-magic-link-otp"},{"title":"Track topic interest for smarter targeting","href":"/docs/en/auto-segment-users-by-page-visit"},{"title":"Target certain Android manufacturers and devices","href":"/docs/en/example-target-certain-android-manufacturers-and-devices"}]}]},{"tab":"API Reference","groups":[{"group":"Using the REST APIs","pages":[{"title":"REST API overview","href":"/reference/rest-api-overview"},{"title":"Rate limits and error handling","href":"/reference/rate-limits"},{"title":"Idempotent API requests","href":"/reference/idempotent-notification-requests"},{"title":"Server SDK reference","href":"/docs/en/server-sdk-reference"}]},{"group":"API reference","pages":[{"group":"Messages","pages":[{"title":"Sending messages with the OneSignal API","href":"/reference/create-message"},{"title":"Push notification","openapi":"POST /notifications?c=push","href":"/reference/push-notification"},{"title":"Email","openapi":"POST /notifications?c=email","href":"/reference/email"},{"title":"SMS","openapi":"POST /notifications?c=sms","href":"/reference/sms"},{"title":"View message","openapi":"GET /notifications/{message_id}?app_id={app_id}","href":"/reference/view-message"},{"title":"View messages","openapi":"GET /notifications?app_id={app_id}\u0026limit={limit}\u0026offset={offset}\u0026kind={kind}\u0026template_id={template_id}\u0026time_offset={time_offset}","href":"/reference/view-messages"},{"title":"Cancel message","openapi":"DELETE /notifications/{message_id}?app_id={app_id}","href":"/reference/cancel-message"},{"title":"Message history","openapi":"POST /notifications/{message_id}/history","href":"/reference/message-history"},{"title":"Estimated recipients","openapi":"POST /notifications/count-unsaved","href":"/reference/count-unsaved"}]},{"group":"Live Activities","pages":[{"title":"Start Live Activity","openapi":"POST /apps/{app_id}/activities/activity/{activity_type}","href":"/reference/start-live-activity"},{"title":"Update Live Activity","openapi":"POST /apps/{app_id}/live_activities/{activity_id}/notifications","href":"/reference/update-live-activity-api"}]},{"group":"Custom Events","pages":[{"title":"Create custom events","openapi":"POST /apps/{app_id}/custom_events","href":"/reference/create-custom-events"}]},{"group":"Users","pages":[{"title":"Create user","openapi":"POST /apps/{app_id}/users","href":"/reference/create-user"},{"title":"View user","openapi":"GET /apps/{app_id}/users/by/{alias_label}/{alias_id}","href":"/reference/view-user"},{"title":"Update user","openapi":"PATCH /apps/{app_id}/users/by/{alias_label}/{alias_id}","href":"/reference/update-user"},{"title":"Delete user","openapi":"DELETE /apps/{app_id}/users/by/{alias_label}/{alias_id}","href":"/reference/delete-user"},{"title":"View user identity","openapi":"GET /apps/{app_id}/users/by/{alias_label}/{alias_id}/identity","href":"/reference/fetch-aliases"},{"title":"View user identity (by subscription)","openapi":"GET /apps/{app_id}/subscriptions/{subscription_id}/user/identity","href":"/reference/fetch-identity-by-subscription"},{"title":"Create or update alias","openapi":"PATCH /apps/{app_id}/users/by/{alias_label}/{alias_id}/identity","href":"/reference/create-alias"},{"title":"Create alias (by subscription)","openapi":"PATCH /apps/{app_id}/subscriptions/{subscription_id}/user/identity","href":"/reference/create-alias-by-subscription"},{"title":"Delete alias","openapi":"DELETE /apps/{app_id}/users/by/{alias_label}/{alias_id}/identity/{alias_label_to_delete}","href":"/reference/delete-alias"}]},{"group":"Subscriptions","pages":[{"title":"Create Subscription by alias","openapi":"POST /apps/{app_id}/users/by/{alias_label}/{alias_id}/subscriptions","href":"/reference/create-subscription"},{"title":"Update Subscription by ID","openapi":"PATCH /apps/{app_id}/subscriptions/{subscription_id}","href":"/reference/update-subscription"},{"title":"Update Subscription by token","openapi":"PATCH /apps/{app_id}/subscriptions_by_token/{token_type}/{token}","href":"/reference/update-subscription-by-token"},{"title":"Delete Subscription","openapi":"DELETE /apps/{app_id}/subscriptions/{subscription_id}","href":"/reference/delete-subscription"},{"title":"Transfer Subscription","openapi":"PATCH /apps/{app_id}/subscriptions/{subscription_id}/owner","href":"/reference/transfer-subscription"},{"title":"Unsubscribe email with token","openapi":"POST /apps/{app_id}/notifications/{notification_id}/unsubscribe?token={token}","href":"/reference/unsubscribe-with-token"}]},{"group":"Templates","pages":[{"title":"Create template","openapi":"POST /templates","href":"/reference/create-template"},{"title":"Update template","openapi":"PATCH /templates/{template_id}?app_id={app_id}","href":"/reference/update-template"},{"title":"View templates","openapi":"GET /templates?app_id={app_id}\u0026limit={limit}\u0026offset={offset}","href":"/reference/view-templates"},{"title":"View template","openapi":"GET /templates/{template_id}?app_id={app_id}","href":"/reference/view-template"},{"title":"Delete template","openapi":"DELETE /templates/{template_id}?app_id={app_id}","href":"/reference/delete-template"},{"title":"Copy template to another app","openapi":"POST /templates/{template_id}/copy_to_app?app_id={app_id}","href":"/reference/copy-template-to-another-app"}]},{"group":"Segments","pages":[{"title":"View segments","openapi":"GET /apps/{app_id}/segments","href":"/reference/view-segments"},{"title":"View segment","openapi":"GET /apps/{app_id}/segments/{segment_id}","href":"/reference/view-segment"},{"title":"Create segment","openapi":"POST /apps/{app_id}/segments","href":"/reference/create-segments"},{"title":"Update segment","openapi":"PATCH /apps/{app_id}/segments/{segment_id}","href":"/reference/update-segment"},{"title":"Delete segment","openapi":"DELETE /apps/{app_id}/segments/{segment_id}","href":"/reference/delete-segments"}]},{"group":"Journeys","pages":[{"title":"View journeys","tag":"BETA","openapi":"GET /apps/{app_id}/journeys","href":"/reference/view-journeys"},{"title":"View journey","tag":"BETA","openapi":"GET /apps/{app_id}/journeys/{id}","href":"/reference/view-journey"},{"title":"View journey stats","tag":"BETA","openapi":"GET /apps/{app_id}/journeys/{id}/stats","href":"/reference/view-journey-stats"},{"title":"Get Journey schema","tag":"BETA","openapi":"GET /journeys/schema","href":"/reference/get-journey-schema"},{"title":"Create journey","tag":"BETA","openapi":"POST /apps/{app_id}/journeys","href":"/reference/create-journey"},{"title":"Duplicate journey","tag":"BETA","openapi":"POST /apps/{app_id}/journeys/{id}/duplicate","href":"/reference/duplicate-journey"},{"title":"Update journey","tag":"BETA","openapi":"PATCH /apps/{app_id}/journeys/{id}","href":"/reference/update-journey"},{"title":"Update journey node","tag":"BETA","openapi":"PATCH /apps/{app_id}/journeys/{id}/nodes/{node_id}","href":"/reference/update-journey-node"},{"title":"Delete journey","tag":"BETA","openapi":"DELETE /apps/{app_id}/journeys/{id}","href":"/reference/delete-journey"}]},{"group":"Organization","pages":[{"title":"List audit logs","openapi":"GET /organizations/{organization_id}/audit_logs","href":"/reference/list-audit-logs"},{"title":"View apps","openapi":"GET /apps","href":"/reference/view-apps"},{"title":"View an app","openapi":"GET /apps/{app_id}","href":"/reference/view-an-app"},{"title":"Create an app","openapi":"POST /apps","href":"/reference/create-an-app"},{"title":"Update an app","openapi":"PUT /apps/{app_id}","href":"/reference/update-an-app"},{"title":"View API keys","openapi":"GET /apps/{app_id}/auth/tokens","href":"/reference/view-api-keys"},{"title":"Create API key","openapi":"POST /apps/{app_id}/auth/tokens","href":"/reference/create-api-key"},{"title":"Delete API key","openapi":"DELETE /apps/{app_id}/auth/tokens/{token_id}","href":"/reference/delete-api-key"},{"title":"Update API key","openapi":"PATCH /apps/{app_id}/auth/tokens/{token_id}","href":"/reference/update-api-key"},{"title":"Rotate API key","openapi":"POST /apps/{app_id}/auth/tokens/{token_id}/rotate","href":"/reference/rotate-api-key"}]},{"group":"Analytics","pages":[{"title":"Export subscriptions CSV","openapi":"POST /players/csv_export","href":"/reference/csv-export"},{"title":"Export audience activity CSV","openapi":"POST /notifications/{message_id}/export_events","href":"/reference/export-csv-of-events"},{"title":"View outcomes","openapi":"GET /apps/{app_id}/outcomes?outcome_names={outcome_names}\u0026outcome_time_range={outcome_time_range}\u0026outcome_platforms={outcome_platforms}\u0026outcome_attribution={outcome_attribution}","href":"/reference/view-outcomes"},{"title":"Email reputation statistics","openapi":"GET /apps/{app_id}/email_analytics/delivery_metrics","href":"/reference/delivery-metrics"},{"title":"Email provider metrics","openapi":"GET /apps/{app_id}/email_analytics/provider_metrics","href":"/reference/provider-metrics"},{"title":"Email provider metrics timeseries","openapi":"GET /apps/{app_id}/email_analytics/provider_metrics_timeseries","href":"/reference/provider-metrics-timeseries"}]},{"group":"Deprecated","pages":[{"title":"View players","deprecated":true,"href":"/reference/view-devices"},{"title":"View player","deprecated":true,"href":"/reference/view-device"},{"title":"Add a player","deprecated":true,"href":"/reference/add-a-device"},{"title":"Edit player","deprecated":true,"href":"/reference/edit-device"},{"title":"Edit tags with external user id","deprecated":true,"href":"/reference/edit-tags-with-external-user-id"},{"title":"Delete player record","deprecated":true,"href":"/reference/delete-user-record"}]}]}]},{"tab":"Release Notes","groups":[{"group":"Release Notes","pages":[{"title":"Changelog","href":"/release-notes/changelog"},{"title":"SDK Releases","href":"/release-notes/sdk-releases"}]}]},{"tab":"Customer Success Hub","groups":[{"group":"Workshops \u0026 Events","pages":[{"title":"Customer Success Hub","tag":"NEW","href":"/docs/en/customer-success-hub"}]}]}],"global":{"anchors":[{"anchor":"Blog","icon":"newspaper","href":"https://onesignal.com/blog"},{"anchor":"GitHub","icon":"github","href":"https://github.com/OneSignal"},{"anchor":"YouTube","icon":"youtube","href":"https://www.youtube.com/@onesignalofficial/playlists"}]}},{"language":"cn","pages":[{"title":"cn","href":"/docs/cn/home"}]},{"language":"ko","pages":[{"title":"ko","href":"/docs/ko/home"}]},{"language":"ja","pages":[{"title":"ja","href":"/docs/ja/home"}]},{"language":"tr","pages":[{"title":"tr","href":"/docs/tr/home"}]},{"language":"pt-BR","pages":[{"title":"pt-BR","href":"/docs/pt-BR/home"}]},{"language":"es","pages":[{"title":"es","href":"/docs/es/home"}]},{"language":"fr","pages":[{"title":"fr","href":"/docs/fr/home"}]}]},"basePath":"","title":"Google Analytics for Firebase - OneSignal Documentation","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-u3J1-UOn.js","DynamicMarkdown-B-f2cqXQ.js","zoom-image-lightbox-DTFzvaXJ.js","lightbox-handle-r17bVUz3.js"]}