---
title: Sending Push Notifications Through Firebase
description: Learn how to send push notifications through Firebase with Reactiv, including setup, targeting, and best practices for campaigns.
---

[Skip to content](https://info.reactiv.ai/reactiv-help-center/sending-push-notifications-through-firebase-reactiv-support-center#main-content)

![logo-mono-light](https://info.reactiv.ai/hubfs/logo-mono-light.svg)

Open main navigation

Close main navigation

- [Contact us](https://info.reactiv.ai/reactiv-help-center/how-do-i-contact-customer-support-reactiv-support-center)

[Contact us](https://info.reactiv.ai/reactiv-help-center/how-do-i-contact-customer-support-reactiv-support-center?hsLang=en-ca)

 Answers, documented.

- There are no suggestions because the search field is empty.

1. [Reactiv Help Center](https://info.reactiv.ai/reactiv-help-center?hsLang=en-ca)
2. [Success with Reactiv](https://info.reactiv.ai/reactiv-help-center/success-with-reactiv?hsLang=en-ca)
3. [Sending Push Notifications](https://info.reactiv.ai/reactiv-help-center/success-with-reactiv?hsLang=en-ca#sending-push-notifications)

February 19, 2026

# Sending Push Notifications Through Firebase

## Everything you need to get started with Firebase Messaging

![](https://info.reactiv.ai/hs-fs/hubfs/Knowledge%20Base%20Import/Screenshot_2025-10-07_at_12.09.53%E2%80%AFPM-1759857005-Feb-13-2026-07-12-28-4739-PM.png?width=40&height=40&name=Screenshot_2025-10-07_at_12.09.53%E2%80%AFPM-1759857005-Feb-13-2026-07-12-28-4739-PM.png) Written by Reactiv App

### Setting up a Push Notification Campaign

**Note:** Steps 1-3 should be complete if you have already integrated Firebase with Reactiv. See **[Setting Up Firebase & GA4 With Reactiv](https://info.reactiv.ai/reactiv-help-center/setting-up-firebase-ga4-with-reactiv-reactiv-support-center?hsLang=en-ca)**

 

#### Step 1: Set Up Firebase Project

1. Go to the [Firebase Console](https://info.reactiv.ai/reactiv-help-center/sending-push-notifications-through-firebase-reactiv-support-center).
2. Click **Add Project** and follow the setup steps.
3. Once created, go to **Project Settings** \> **Cloud Messaging** to access your Firebase server key and sender ID.

#### Step 2: Integrate Firebase SDK into Your App

1. **iOS:** Add Firebase SDK via CocoaPods or Swift Package Manager.
2. **Android:** Add Firebase to your Android project by adding the `google-services.json` file to your `app` directory and updating your `build.gradle` files.

#### Step 3: Set Up FCM in Your App Code

Add the necessary code to handle FCM tokens and receive notifications.

1. **iOS:**

     - Request user permission to show notifications.
     - Implement `UNUserNotificationCenterDelegate` to handle notifications.
2. **Android:**

     - Initialize Firebase and set up FCM in your `Application` class.
     - Handle notifications in `FirebaseMessagingService`.

#### Step 4: Enable Cloud Messaging API

1. In the **Firebase Console**, go to **Project Settings** \> **Cloud Messaging**.
2. Enable the **Cloud Messaging API** for your project.

#### Step 5: Send a Notification from Firebase Console

1. Go to **Run** \> **Messaging** in Firebase Console.

     1. [![](https://downloads.intercomcdn.com/i/o/zgqq9fe6/1228971593/8ccc2a00d78b133bdd14e1fb9270/image.png?expires=1771011900&signature=e65041773a7259fe9171b8070b58fbe6f44251b86014d56263e54b5d10c7de29&req=dSIlHsB5nIRWWvMW1HO4zU6qnfNzLgwlxEDr2jcwHa%2BqnjFeM2lQQCoIW6ay%0Ap9Re%0A)](https://downloads.intercomcdn.com/i/o/zgqq9fe6/1228971593/8ccc2a00d78b133bdd14e1fb9270/image.png?expires=1771011900&signature=e65041773a7259fe9171b8070b58fbe6f44251b86014d56263e54b5d10c7de29&req=dSIlHsB5nIRWWvMW1HO4zU6qnfNzLgwlxEDr2jcwHa%2BqnjFeM2lQQCoIW6ay%0Ap9Re%0A)
2. Click on **New Campaign \> Notifications**. (Note that In-App Messaging is not currently supported)

     1. [![](https://downloads.intercomcdn.com/i/o/zgqq9fe6/1228973166/810150b5c7689481c29bef4444d8/image.png?expires=1771011900&signature=76641a07d4709368bdc56930a12f336d679bb2d35be6bcff5c5381c2617f6c7b&req=dSIlHsB5noBZX%2FMW1HO4zZ5UKu51xVS4pSBmCJZ%2BkZ2QHLGBEbFCWWDG6%2BVF%0ArPpD%0A)](https://downloads.intercomcdn.com/i/o/zgqq9fe6/1228973166/810150b5c7689481c29bef4444d8/image.png?expires=1771011900&signature=76641a07d4709368bdc56930a12f336d679bb2d35be6bcff5c5381c2617f6c7b&req=dSIlHsB5noBZX%2FMW1HO4zZ5UKu51xVS4pSBmCJZ%2BkZ2QHLGBEbFCWWDG6%2BVF%0ArPpD%0A)
3. Enter your **Notification title** and **Notification text**.
4. Optionally, you can add in a **Notification Image** aswell. Keep in mind that this will appear quite small on a users device

     1. Optimal Size: Image should be at least 720px (width) by 240px (height) with an aspect ratio of 3:1. Max Size of 500KB
5. Once you are happy with the Notification content, click **Next**
6. Under **Target**, select either a specific user segment or app instance.

     - **Segment**: Target specific user properties or audiences.
     - **App instance**: Target individual device tokens (e.g., for testing).<https://downloads.intercomcdn.com/i/o/zgqq9fe6/1228973166/810150b5c7689481c29bef4444d8/image.png?expires=1771011900&signature=76641a07d4709368bdc56930a12f336d679bb2d35be6bcff5c5381c2617f6c7b&req=dSIlHsB5noBZX%2FMW1HO4zZ5UKu51xVS4pSBmCJZ%2BkZ2QHLGBEbFCWWDG6%2BVF%0ArPpD%0A>

 

**⭐️ Reactiv Tip:** To simply target all app users, match the below criteria.

[![](https://info.reactiv.ai/hubfs/Knowledge%20Base%20Import/image-Feb-13-2026-07-12-39-7037-PM.png)](https://downloads.intercomcdn.com/i/o/zgqq9fe6/1228980883/a920fcaddb0d5b2037d6c1de0f4e/image.png?expires=1771011900&signature=73e793130ade40b2362c493164ad15b424c6df0727ebce820ade7e8e78bf64e2&req=dSIlHsB2nYlXWvMW1HO4zSOIRVMfvm2jVlT5CK1KOzzE%2B224Pm3mqRGu3DyP%0AG9RdqgvdErHckovJJ%2Bk%3D%0A)

#### Step 6: Configure Notification Options

- Set the **Delivery Time** (e.g., immediate, or scheduled).
- Define **Conversion Events** if you want to track specific actions after users open the notification.

**Deep Link Configuration:**

To make your notification navigate to a specific product or collection when opened, add one of the following configurations under Custom Data:

##### Option 1: URL-Based Deep Link

- Key: `url`
- Value: The full URL of the product or collection you want to link to
- Example: `https://yourstore.com/products/summer-dress`

##### Option 2: Structured Deep Link

- **Key:** `type`  
  ​**Value:** The type of resource (e.g., `product`, `collection`)
- **Key:** `value`  
  ​**Value:** The handle or unique identifier of the resource

**Example:**  
For a product deep link, use:  
​`type: product`  
​`value: summer-dress-blue`  
​

#### Step 7: Preview and Send Notification

1. Use the **Preview** feature to see how the notification will look.
2. Click **Send** or **Schedule** (if you specified a scheduled time).

### Step 8: Monitor Notification Analytics

1. Go to **Analytics** \> **Events** in the Firebase Console to track how users engage with your notification.
2. Use **Cloud Messaging** \> **Reports** to view metrics on delivery, opens, and conversions.

---

### Events Tracked

This is a comprehensive list of all events that are tracked and sent to Firebase. These can be used for analytics purposes, creating user segments

ReactivEventName.ScreenViewedEvent → 'screen\_view'

ReactivEventName.CollectionViewedEvent → 'view\_item\_list'

ReactivEventName.ShowProductEvent → 'show\_item'

ReactivEventName.ProductViewedEvent → 'view\_item'

ReactivEventName.SelectProductEvent → 'select\_item'

ReactivEventName.CartViewEvent → 'view\_cart'

ReactivEventName.CartItemAddedEvent → 'add\_to\_cart'

ReactivEventName.CartDiscountCodeAddedEvent → 'view\_promotion'

ReactivEventName.CheckoutStartedEvent → 'begin\_checkout'

ReactivEventName.CheckoutSuccessEvent → 'purchase'

ReactivEventName.CheckoutFailedEvent → 'checkout\_failed'

ReactivEventName.SearchAppliedEvent → 'perform\_search'

ReactivEventName.SearchFilterAppliedEvent → 'perform\_filter'

ReactivEventName.SearchSortAppliedEvent → 'perform\_sort'

ReactivEventName.WishListItemAddedEvent → 'add\_to\_wishlist'

ReactivEventName.WishListItemRemovedEvent → 'remove\_from\_wishlist' (NOT AN OFFICIAL EVENT)

ReactivEventName.CartItemUpdatedEvent → 'update\_cart\_item'

ReactivEventName.CartItemRemovedEvent → 'remove\_from\_cart'

ReactivEventName.CartDiscountCodeSeenEvent → 'viewed\_promotion' (NOT AN OFFICIAL EVENT)

ReactivEventName.CartDiscountCodeRemovedEvent → 'remove\_promotion' (NOT AN OFFICIAL EVENT)

ReactivEventName.AccountSignUpSuccessEvent → 'sign\_up'

ReactivEventName.AccountSignUpFailedEvent → 'sign\_up\_failed'

ReactivEventName.AccountSignInSuccessEvent → 'login'

ReactivEventName.AccountSignInFailedEvent → 'login\_failed'

ReactivEventName.AccountForgotPasswordEvent → 'forgot\_password' (NOT AN OFFICIAL EVENT)

ReactivEventName.AccountRecoveredPasswordEvent → 'recover\_password' (NOT AN OFFICIAL EVENT)

ReactivEventName.AccountAddressAddedEvent → 'add\_address'

ReactivEventName.AccountAddressUpdatedEvent → 'update\_address'

ReactivEventName.AccountAddressRemovedEvent → 'remove\_address'

ReactivEventName.ExternalLinkClickedEvent → 'click\_external\_link' (NOT AN OFFICIAL EVENT)

ReactivEventName.WebpageViewedEvent → 'view\_webpage'

ReactivEventName.SubscribedToMarketingEvent → 'subscribe\_marketing' (NOT AN OFFICIAL EVENT)

ReactivEventName.QRCodeScannedEvent → 'scan\_qr\_code'

ReactivEventName.PushPermissionAcceptedEvent → 'mobile\_app\_accept\_push' (NOT AN OFFICIAL EVENT)

ReactivEventName.PushPermissionDeclinedEvent → 'mobile\_app\_decline\_push' (NOT AN OFFICIAL EVENT)

ReactivEventName.LocationPermissionAcceptedEvent → 'mobile\_app\_accept\_location' (NOT AN OFFICIAL EVENT)

ReactivEventName.LocationPermissionDeclinedEvent → 'mobile\_app\_decline\_location' (NOT AN OFFICIAL EVENT)

ReactivEventName.AdsTrackingPermissionAcceptedEvent → 'mobile\_app\_accept\_ads\_tracking' (NOT AN OFFICIAL EVENT)

ReactivEventName.AdsTrackingPermissionDeclinedEvent → 'mobile\_app\_decline\_ads\_tracking' (NOT AN OFFICIAL EVENT)

ReactivEventName.ApplicationInstalledEvent → 'mobile\_app\_install' (NOT AN OFFICIAL EVENT)

ReactivEventName.NotificationReceivedEvent → 'notification\_received'

ReactivEventName.NotificationClickedEvent → 'notification\_opened'

**(NOT AN OFFICIAL EVENT) = namespace reserved event with google**

- [Getting Started With Reactiv](https://info.reactiv.ai/reactiv-help-center/getting-started-with-reactiv?hsLang=en-ca)
- [Building Your App](https://info.reactiv.ai/reactiv-help-center/building-your-app?hsLang=en-ca#main-content)

    - [App Settings](https://info.reactiv.ai/reactiv-help-center/building-your-app?hsLang=en-ca#app-settings)
    - [Your Home Screen](https://info.reactiv.ai/reactiv-help-center/building-your-app?hsLang=en-ca#your-home-screen)
    - [Misc. App Building Blocks](https://info.reactiv.ai/reactiv-help-center/building-your-app?hsLang=en-ca#misc-app-building-blocks)
    - [Other Screens](https://info.reactiv.ai/reactiv-help-center/building-your-app?hsLang=en-ca#other-screens)
- [Publishing Your App](https://info.reactiv.ai/reactiv-help-center/publishing-your-app?hsLang=en-ca#main-content)

    - [iOS App](https://info.reactiv.ai/reactiv-help-center/publishing-your-app?hsLang=en-ca#ios-app)
- [Building Your Reactiv Clips](https://info.reactiv.ai/reactiv-help-center/building-your-reactiv-clips?hsLang=en-ca#main-content)

    - [Success with Reactiv Clips](https://info.reactiv.ai/reactiv-help-center/building-your-reactiv-clips?hsLang=en-ca#success-with-reactiv-clips)
    - [Customizing Your Reactiv Clips Experiences](https://info.reactiv.ai/reactiv-help-center/building-your-reactiv-clips?hsLang=en-ca#customizing-your-reactiv-clips-experiences)
    - [Initializing Your Reactiv Clips](https://info.reactiv.ai/reactiv-help-center/building-your-reactiv-clips?hsLang=en-ca#initializing-your-reactiv-clips)
    - [About Reactiv Clips](https://info.reactiv.ai/reactiv-help-center/building-your-reactiv-clips?hsLang=en-ca#about-reactiv-clips)
- [Integrations](https://info.reactiv.ai/reactiv-help-center/integrations?hsLang=en-ca#main-content)

    - [Analytics & Push Notifications](https://info.reactiv.ai/reactiv-help-center/integrations?hsLang=en-ca#analytics-push-notifications)
    - [App Install Attribution](https://info.reactiv.ai/reactiv-help-center/integrations?hsLang=en-ca#app-install-attribution)
    - [Back in Stock Alerts](https://info.reactiv.ai/reactiv-help-center/integrations?hsLang=en-ca#back-in-stock-alerts)
    - [Chat & Customer Support](https://info.reactiv.ai/reactiv-help-center/integrations?hsLang=en-ca#chat-customer-support)
    - [Conversion Integrations](https://info.reactiv.ai/reactiv-help-center/integrations?hsLang=en-ca#conversion-integrations)
    - [Discovery, Search & Personalization](https://info.reactiv.ai/reactiv-help-center/integrations?hsLang=en-ca#discovery-search-personalization)
    - [Fraud Protection](https://info.reactiv.ai/reactiv-help-center/integrations?hsLang=en-ca#fraud-protection)
    - [Loyalty](https://info.reactiv.ai/reactiv-help-center/integrations?hsLang=en-ca#loyalty)
    - [Order Fulfillment](https://info.reactiv.ai/reactiv-help-center/integrations?hsLang=en-ca#order-fulfillment)
    - [Product Recommendations](https://info.reactiv.ai/reactiv-help-center/integrations?hsLang=en-ca#product-recommendations)
    - [Order Tracking & Returns](https://info.reactiv.ai/reactiv-help-center/integrations?hsLang=en-ca#order-tracking-returns)
    - [Product Bundles](https://info.reactiv.ai/reactiv-help-center/integrations?hsLang=en-ca#product-bundles)
    - [Reviews Integrations](https://info.reactiv.ai/reactiv-help-center/integrations?hsLang=en-ca#reviews-integrations)
    - [Subscriptions](https://info.reactiv.ai/reactiv-help-center/integrations?hsLang=en-ca#subscriptions)
    - [Video Shopping](https://info.reactiv.ai/reactiv-help-center/integrations?hsLang=en-ca#video-shopping)
    - [Wishlist Integrations](https://info.reactiv.ai/reactiv-help-center/integrations?hsLang=en-ca#wishlist-integrations)
    - [Profile Integrations](https://info.reactiv.ai/reactiv-help-center/integrations?hsLang=en-ca#profile-integrations)
- [Platform Highlights](https://info.reactiv.ai/reactiv-help-center/platform-highlights?hsLang=en-ca)
- [Success with Reactiv](https://info.reactiv.ai/reactiv-help-center/success-with-reactiv?hsLang=en-ca#main-content)

    - [Sending Push Notifications](https://info.reactiv.ai/reactiv-help-center/success-with-reactiv?hsLang=en-ca#sending-push-notifications)
- [Building with AI](https://info.reactiv.ai/reactiv-help-center/building-with-ai?hsLang=en-ca)
- [FAQ](https://info.reactiv.ai/reactiv-help-center/faq?hsLang=en-ca#main-content)

    - [Performance & Data](https://info.reactiv.ai/reactiv-help-center/faq?hsLang=en-ca#performance-data)
    - [General & Billing](https://info.reactiv.ai/reactiv-help-center/faq?hsLang=en-ca#general-billing)
    - [Getting Started](https://info.reactiv.ai/reactiv-help-center/faq?hsLang=en-ca#getting-started)
    - [Technical Issues & Troubleshooting](https://info.reactiv.ai/reactiv-help-center/faq?hsLang=en-ca#technical-issues-troubleshooting)
    - [App Management](https://info.reactiv.ai/reactiv-help-center/faq?hsLang=en-ca#app-management)
- [Research](https://info.reactiv.ai/reactiv-help-center/research?hsLang=en-ca)

[![logo-mono-dark](https://info.reactiv.ai/hubfs/logo-mono-dark.svg "logo-mono-dark")](http://reactiv.ai)

<https://www.linkedin.com/company/reactivapp/>

Copyright © 2026, Reactiv