diff --git a/content/docs/platform/integrations/push/meta.json b/content/docs/platform/integrations/push/meta.json
index 66bfef056..db10cb7d0 100644
--- a/content/docs/platform/integrations/push/meta.json
+++ b/content/docs/platform/integrations/push/meta.json
@@ -1,4 +1,4 @@
{
"icon": "Smartphone",
- "pages": ["adding-push", "..."]
+ "pages": ["adding-push", "...", "push-activity-tracking"]
}
diff --git a/content/docs/platform/integrations/push/push-activity-tracking.mdx b/content/docs/platform/integrations/push/push-activity-tracking.mdx
new file mode 100644
index 000000000..f7bef3d6e
--- /dev/null
+++ b/content/docs/platform/integrations/push/push-activity-tracking.mdx
@@ -0,0 +1,152 @@
+---
+pageTitle: 'Push Notification Activity Tracking'
+title: 'Activity Tracking'
+description: 'Learn how to manually forward push notification events from your application to Novu for unified activity tracking.'
+---
+
+Push notification providers typically do not offer native webhhoks support that can be used for activity tracking. To enable activity tracking for Push channels notifications, Novu supports a manual integration approach for push notifications.
+
+Where your application captures and forwards push notification events to the Novu. Once received, Novu processes and displays these events alongside other channels for a unified tracking experience.
+
+## How it works
+
+The process involves four-step data flow from your subscriber's device to Novu's servers:
+
+1. **Client application listens:** Your application listens for push notification interactions (e.g., the user opening a notification).
+2. **Event sent to your backend:** When an event occurs, your app sends a payload containing the event details to an endpoint on your own server.
+3. **Backend forwards to Novu:** Your server receives this data and uses the Novu SDK to securely forward the event to Novu's API.
+4. **Event appears in Novu:** Novu processes the event and displays it in the **Activity Feed**, alongside events from your other channels.
+
+
+## Step 1: Enable push activity tracking in Novu
+
+First, you need to enable the feature in your Novu dashboard and retrieve the necessary credentials.
+
+1. Log in to the Novu dashboard.
+2. Navigate to the **Integration Store** page and select your push provider.
+3. Enable the **Push Activity Tracking** toggle.
+ 
+4. Once enabled, your unique **Environment ID** and **Integration ID** will be displayed. Copy both of these; you will need them for your backend code.
+5. Click **Save Changes**.
+
+## Step 2: Listen for push events in your app
+
+Next, when push notifications are delivered or interacted with, your app needs to capture those events and forward them to your backend. The exact code implementation will depends on the push provider you use.
+
+The goal is to capture the event and send a JSON payload to your backend. The two most important fields to send are:
+- `eventType`: A string describing the event (for example, `opened`, `clicked`).
+- `eventId`: The unique identifier for the notification, which Novu includes in the push payload as `__nvMessageId`.
+
+
+
+ ```jsx
+ import * as Notifications from 'expo-notifications';
+ import Constants from 'expo-constants';
+ import { Platform } from 'react-native';
+
+ // Listen for notification interactions
+ Notifications.addNotificationResponseReceivedListener(async (response) => {
+ const eventData = {
+ eventType: "opened",
+ eventId: response.notification.request.content.data?.__nvMessageId,
+ timestamp: new Date().toISOString(),
+ actionIdentifier: response.actionIdentifier,
+ content: {
+ title: response.notification.request.content.title,
+ body: response.notification.request.content.body,
+ data: response.notification.request.content.data,
+ },
+ // Optional device context
+ deviceId: Constants.sessionId,
+ platform: Platform.OS,
+ };
+
+ await fetch("https://your-api.com/api/notifications/events", {
+ method: "POST",
+ headers: { "Content-Type": "application/json" },
+ body: JSON.stringify(eventData),
+ });
+ ```
+
+
+ ```js
+ import messaging from '@react-native-firebase/messaging';
+
+ messaging().onNotificationOpenedApp((remoteMessage) => {
+ const eventData = {
+ eventType: "opened",
+ eventId: remoteMessage.data?.__nvMessageId,
+ timestamp: new Date().toISOString(),
+ content: {
+ title: remoteMessage.notification?.title,
+ body: remoteMessage.notification?.body,
+ },
+ deviceId: remoteMessage.messageId,
+ platform: 'android',
+ };
+
+ fetch("https://your-api.com/api/notifications/events
+ ", {
+ method: "POST",
+ headers: { "Content-Type": "application/json" },
+ body: JSON.stringify(eventData),
+ });
+ });
+ ```
+
+ APNs
+
+ ```js
+ import OneSignal from 'react-native-onesignal';
+
+ OneSignal.setNotificationOpenedHandler((openedEvent) => {
+ const { notification } = openedEvent;
+
+ const eventData = {
+ eventType: "opened",
+ eventId: notification.additionalData?.__nvMessageId,
+ timestamp: new Date().toISOString(),
+ content: {
+ title: notification.title,
+ body: notification.body,
+ },
+ deviceId: notification.notificationId,
+ platform: 'ios',
+ };
+
+ fetch("https://your-api.com/api/notifications/events", {
+ method: "POST",
+ headers: { "Content-Type": "application/json" },
+ body: JSON.stringify(eventData),
+ });
+ });
+ ```
+
+
+
+## Step 3: Forward events to Novu from your backend
+
+Finally, create an endpoint on your backend that receives the event data from your application and uses the Novu SDK to forward it to Novu.
+
+```typescript
+import { Novu } from '@novu/api';
+
+const novuClient = new Novu({
+ apiKey: process.env.NOVU_API_KEY,
+});
+
+// Your backend API endpoint that receives events from your mobile app
+app.post('/api/notifications/events', async (req, res) => {
+ // Forward the event data to Novu
+ const response = await novuClient.activity.track({
+ environmentId: process.env.NOVU_ENVIRONMENT_ID,
+ integrationId: process.env.NOVU_INTEGRATION_ID,
+ requestBody: req.body,
+ });
+
+ res.status(200).json({ success: true, data: response });
+});
+```
+Both `Integration ID` and `Environment ID` can be found in the Integration Store under your push provider instance (after enabling Push Activity Tracking).
+
+Once these steps are completed, your application will begin sending push notification engagement data to Novu, giving you a complete, unified view of your notification performance in the Activity Feed.
\ No newline at end of file
diff --git a/public/images/channels-and-providers/push/activity-tracking/enable-activity-tracking.png b/public/images/channels-and-providers/push/activity-tracking/enable-activity-tracking.png
new file mode 100644
index 000000000..c9701083c
Binary files /dev/null and b/public/images/channels-and-providers/push/activity-tracking/enable-activity-tracking.png differ