Pushpad Logo Pushpad

Monitoring

You can monitor web push notifications in different ways.

See the stats for a single notification

You can see detailed stats for each notification that you have sent from the Pushpad dashboard. Go to your project, then click Notifications and open a notification to see the details.

You can also fetch the stats with the REST API. When you send a notification, you get in response the new notification ID: you can use it later to fetch the notification stats. Otherwise you can also get all the notifications that you have recently sent.

Notification log

For applications that integrate Pushpad through the API, it can be useful to log all the notifications sent:

  1. When you send a notification, you get in response the ID of the new notification
  2. Store the notification ID and other details in your application logs, so that you can search them later

Then, when you need to inspect a delivery of a message:

  1. Get the notification ID from your application logs
  2. Open the notification on Pushpad, so that you can see all the notification details and information about the delivery status. From the Pushpad dashboard go to your project, then click Notifications and enter the notification ID in the search field. You can also use the API if you prefer.

See aggregated stats for a project

You can see aggregated stats for your project from the Pushpad dashboard. Go to your project, then click Stats.

Create custom metrics and filter the project stats

If you send many notifications from the dashboard or even millions of notifications through the API, it becomes difficult to see the stats for each notification. In that case you must use the project stats, that aggregate the stats from multiple notifications. By default, there is one bucket where all the notification stats are collected. However you can easily create other buckets to aggregate the stats only from some notifications.

For example a newspaper may create the categories "sport" and "politics", then tag each notification with the appropriate category and finally compare the CTR of the different categories.

In order to aggregate the stats in custom categories you can follow these steps:

  1. Go to the project settings and enter the name of the new metric in the Custom metrics field. The name can only contain letters, digits and underscores and cannot be longer than 50 characters. You can create up to 50 metrics for a project.
  2. When you send a notification, enter the name of your metric in the Custom metrics field. Note that you can add up to 3 metrics for a single notification.
  3. Go to the project stats and select your metric. Basically you need to click No filter and select the name of your metric instead. In this way you will see only the stats for the notifications that were tagged with that metric name.

Delivery status

Pushpad collects detailed information about the delivery of each message. The following stats are available:

Notifications sent, but not delivered

For transparency, Pushpad reports both the number of notifications successfully sent and the number of notifications actually delivered to the user device. The number of deliveries is usually lower then the number of notifications sent. However that is not an issue related to Pushpad.

Basically notifications work like this:

  1. Pushpad sends a signal to the browser push service (Mozilla autopush for Firefox, FCM for Chrome, etc.) to notify that there are new notifications
  2. the browser push service (Mozilla autopush for Firefox, FCM for Chrome, etc.) sends that signal to the user browser
  3. the user browser connects to Pushpad to download the new notifications.

You can find more in the technical introduction to web push.

When a notification is marked as successfully sent but not delivered it means that the step 1 was successful, but the step 2 has not happened yet. That step isn't managed by Pushpad, but it is managed by the browser push service (Mozilla autopush for Firefox, FCM for Chrome, etc.) and by the user device. So in general we can't do anything about that.

A notification may not be delivered for various reasons, for example:

Note that the setting called Time To Live (TTL) can affect the delivery rate. You can set the TTL for notifications from the project settings or set it for specific notifications. Make sure to set the TTL to a large value, otherwise a notification will be dropped on purpose if it can't reach a device within that time.

Also note that the deliveries to Safari cannot be tracked (there's no way to do that): thus, even if the notifications are delivered successfully, they are still reported as not delivered in the stats.