> For the complete documentation index, see [llms.txt](https://codemash.gitbook.io/codemash/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://codemash.gitbook.io/codemash/cloud/push/campaigns/details.md).

# Campaign details

Read one push campaign — status, audience, schedule, provider, statistics and batches — and act on it.

**Where:** Push → Campaigns → **View** · `/projects/<project>/push/campaigns/<id>/view`

## Before you start

* The campaign exists — see [Create a campaign and send it now](/codemash/cloud/push/campaigns/new.md).

## Steps

1. Open **Push → Campaigns** and press **View** (or the **Recipients** cell) on a row. The page **Push Campaign** opens with the status badge.
2. Read **General Information** (*Summary of the push campaign.*): **Template** (a link to the [template editor](/codemash/cloud/push/templates/editor.md)), **Requested Language (or default)** (a flag), **Initiated** (the creation time), **Deliver strategy** (the audience), **Plan to deliver** (*Instantly*, or the planned time in its zone) and **Deliver with respect to user time zone** (always *No*).

   <figure><img src="https://712692422-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHy372bqsaex2cqS3ikhL%2Fuploads%2Fgit-blob-572354e590250343c9a40e98739ad0d82cdaf072%2Fcampaigns-details-1.png?alt=media" alt="Push Campaign: Completed badge, General Information with Template Weekend sale, Requested Language (or default) a flag, Initiated 2026-10-06 14:38, Deliver strategy All users, Plan to deliver Instantly, Deliver with respect to user time zone No"><figcaption><p>General Information of a sent campaign.</p></figcaption></figure>

   A failed campaign also shows a red box with the last error, for example *Stopped: no recipients found for this audience* (`CM-ERRORS-CAMPAIGNS-014`) when nobody in the audience has a device.
3. Scroll down. **Push Provider** names the integration that sends it, with **See integration details** (opens the integration). Four tiles count **Batches**, **Sent**, **Failed** and **Success rate**. Below them is one card per batch with its recipient count, batch id (`cmpb_…`), time and status.

   <figure><img src="https://712692422-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHy372bqsaex2cqS3ikhL%2Fuploads%2Fgit-blob-965d5a8b8b9efd0d6baaa5776ddbf8c024b7cd60%2Fcampaigns-details-2.png?alt=media" alt="Push Provider Test Me (Default) with See integration details, the tiles Batches 1, Sent 1, Failed 0, Success rate 100 %, and the batch 3 recipient(s) cmpb_1qvxOJONfWEC5g6SYu3JLk Completed"><figcaption><p>Statistics and the batch list.</p></figcaption></figure>
4. Press a batch to see its messages — see [Message log](/codemash/cloud/push/campaigns/log.md).
5. Open **Actions** for the campaign commands.

   <figure><img src="https://712692422-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHy372bqsaex2cqS3ikhL%2Fuploads%2Fgit-blob-af80bb00c8bdf935086159b610e6d418132252dd%2Fcampaigns-details-3.png?alt=media" alt="The Actions menu of a completed campaign: Create new from this, Delete campaign..., See documentation"><figcaption><p>The Actions menu.</p></figcaption></figure>

## Result

You see whether the campaign reached the provider: **Sent** counts the notifications handed to the provider, **Failed** the ones it refused. One notification of a batch can reach several devices, so `All users` with three devices shows **Sent 1** and `3 recipient(s)`. Whether a device really showed the push is known only to the provider. The Fake provider counts every notification as sent. The tiles refresh every 15 seconds, the batches about every 50 seconds.

## Change or remove it later

* **Create new from this** — opens [Create a campaign](/codemash/cloud/push/campaigns/new.md) with the same template picked.
* **Stop** — while the campaign is scheduled or sending, the red **Stop campaign** button is shown; see [Stop a campaign](/codemash/cloud/push/campaigns/stop.md).
* **Delete** — **Delete campaign...** is offered only when the campaign is **Completed**, **Stopped** or **Failed**. The browser asks *Delete this campaign? Its batches and message log are deleted with it. This cannot be undone.*; after **OK** you are back on the list.

  <figure><img src="https://712692422-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHy372bqsaex2cqS3ikhL%2Fuploads%2Fgit-blob-f7363083e9190ba40381edab07b352f49d71d4fa%2Fcampaigns-details-4.png?alt=media" alt="Push Campaigns list after the delete: the Password changed test campaign is gone"><figcaption><p>The list after a delete.</p></figcaption></figure>
* **See documentation** — opens an old docs address that does not work yet; use this page.

## Do it from code

```ts
const id = 'cmp_7LX6kndj6fMBX3ZbsiATog'; // Order shipped to Ada
const { item } = await norbix.hub.notifications.getPushCampaign({ id });
const { stats } = await norbix.hub.notifications.getPushCampaignStatistics({ id });
const { list } = await norbix.hub.notifications.getPushCampaignBatches({ id });
console.log(item.statusHistory.at(-1).status, stats, list.items.map((b) => b.batchId));
// Completed { batches: 1, sent: 1, failed: 0, successRate: 100 } [ 'cmpb_3dDYvk2jPu9RngNLsl8QMt' ]
```

```sh
norbix hub notifications push campaign statistics get --id cmp_3qQJdbyzmh50geFQyLHium
norbix hub notifications push campaign delete --id cmp_3T4ttmIA0D1XsrAupua5eO --yes
```

The API deletes a campaign in any status; the status rule is kept by Cloud only. The client setup is on the [Push page](/codemash/cloud/push.md#use-it-from-code). API: [Get Push Campaign](/codemash/api-reference/notifications/push/get-push-campaign.md) · [Get Push Campaign Statistics](/codemash/api-reference/notifications/push/get-push-campaign-statistics.md) · [Get Push Campaign Batches](/codemash/api-reference/notifications/push/get-push-campaign-batches.md) · [Delete Push Campaign](/codemash/api-reference/notifications/push/delete-push-campaign.md)
