# Bring users back to a valuable action

- **Canonical URL:** https://playbook.affpartners.io/en/practices/push-trigger/index.html
- **Markdown version:** https://playbook.affpartners.io/en/practices/push-trigger/index.md
- **Module:** Push notifications
- **Time:** 60 minutes for the first scenario

A good push starts with an event, not with copy: a specific user now has a reason to return. Design one scenario from the send condition through the useful action after the tap.

## Outcome

A specification for one push trigger: audience, event, delay, exclusions, copy, deep link, and outcome metric.

## A trigger answers the question “why now?”

A push trigger is a send rule tied to a specific event. For example: the user saved a topic, new material appeared in it, and the message leads straight to it. “We haven't seen you in a while” describes the team's interest, not the user's benefit.

## What you will need

- **Event:** A confirmed action or change: a save, an unfinished step, a new result, or an update to a personal interest.
- **Tool:** Firebase, OneSignal, Mindbox, or another system where you can set the audience, delay, and exclusions.
- **Route:** A working deep link to the right screen and a target analytics event after the tap.

## Terms in plain language

- **Push notification — A short app message shown outside the app:** Definition: It appears on the device and can return a user to one specific useful action. It is sent only when the user has granted notification permission. Example: A message about a new item in a saved topic opens that item through a deep link.
- **Segment — Users sharing a behavior or characteristic:** Definition: A segment groups people by platform, market, interest, or action so the team does not send the same message to everyone. Example: Android users who started but did not complete registration in the past 24 hours.
- **Analytics event — A record of a specific user action:** Definition: The app sends an event when a user opens a screen, taps a button, or completes an action. Example: registration_started and registration_completed reveal how many people abandon registration.
- **Deep link — A link to a specific app screen:** Definition: After a tap, the user lands in the promised journey rather than on the home screen. Example: A push about a saved lesson opens that lesson directly.
- **CTA — The main action offered to the user:** Definition: A CTA is a button or link with a clear next step and expected outcome. Example: “Continue registration” is clearer than “Next”.
- **Conversion — The share of people moving to the next step:** Definition: Shows how many people who started a step completed it or reached the next one. Example: 80 registrations completed from 100 started: 80 ÷ 100 × 100% = 80% conversion.

## When to send a push

Trigger the message only when the user has a clear reason to return right now.

- **An unfinished action:** The user started a useful journey and did not reach the result, but the progress was actually saved. Example: “Continue from the document step — your previous data is saved.”
- **New value is available:** Content, a status, or a feature tied to the user's confirmed interest has been released. Example: “A new short analysis appeared in your saved topic.”
- **Personal progress:** The user can see a result or continue toward their goal without searching again. Example: “The verification result is ready — open the status and the next step.”

## What to check before setup

First make sure the event is reliable, the audience refreshes, and the destination screen works. Pretty copy will not fix a bad trigger.

- **Product events**
  - **Source:** Check when the action's start and completion events arrive and whether users who already got the result can be excluded.
  - **If access is unavailable:** Without events, start with one reliable server-side status and a test group of employees.
- **Send history**
  - **Source:** See which other messages a user might receive around the same time and set a shared cap.
  - **If access is unavailable:** If there is no shared log, collect a one-week calendar of active sends from every team.
- **Deep link and analytics**
  - **Source:** On iOS and Android, walk from a closed app to the promised screen and the useful action.
  - **If access is unavailable:** If the direct route is not ready, do not launch a mass push — use an in-app message on the relevant screen first.

## Build the first trigger in five steps

1. **Choose a useful action.** Name the result of the return. “Open the app” does not count — viewing a status, continuing a step, or reading material does.
   - **Where to do it:** In the “Success” row of the specification and the analytics event.
   - **Example:** The user read the new analysis at least halfway after tapping the push.
2. **Define the audience by an event.** Set the action and the period that put a user into the scenario. Do not start with the broad “inactive” group.
   - **Where to do it:** In the CRM segment builder.
   - **Example:** Saved a topic in the last 30 days and has not opened the new analysis yet.
3. **Set the moment and the exclusions.** Define the delay after the event and who the message is no longer relevant for. Exclusions are checked before every send.
   - **Where to do it:** In the trigger logic and frequency rules.
   - **Example:** Send after 30 minutes; exclude those who already read it, are active right now, or got a push in the last 24 hours.
4. **Write the benefit and one CTA.** Say what changed and what the user can do. Remove generic calls, pressure, and unverified urgency.
   - **Where to do it:** In the notification title and body.
   - **Example:** “A new analysis appeared in your saved topic. Open the material” instead of “Come back now!”
5. **Check the route to the result.** The push must open the right screen after sign-in and from a closed app. Record the target-action event.
   - **Where to do it:** On test iOS and Android devices.
   - **Example:** The tap opens the new analysis, and at 50% read the content_half_read event fires.

## Practical examples

- **The matching profile gets it; the excluded one does not:** The user saved the topic and has not read the new analysis — the push arrives once. Those who already read it or received another message today are excluded before the send.
- **The route ends with an action:** The push “A new analysis appeared in your saved topic” opens the material itself. Success is reading at least 50% — not just opening the app.

## Finished artifact: First push-trigger specification

One card is enough for product, CRM, development, and analytics to read the scenario the same way.

| Field | Decision | How to check |
| --- | --- | --- |
| Audience | Saved a topic in the last 30 days | The segment refreshes daily |
| Trigger | A new analysis appeared in the topic | The event fires once |
| Delay | 30 minutes after publication | The content is already live |
| Exclusions | Already read it or got a push today | Test profiles are excluded |
| Destination | Deep link to the new analysis | The screen opens on iOS/Android |
| Success | The analysis is read to 50% | The event is visible after the tap |

Before launch, check three test profiles: the matching one gets the push, the excluded one does not, and the one who already read it gets no repeat.

## Completed template: Draft the message

Fill in the card — a working draft of the first push will appear on the right.

- **Who:** Saved a topic in the last 30 days and has not seen the new analysis yet
- **What changed:** New material appeared in the saved topic
- **Push copy:** A new short analysis appeared in your saved topic. Open it whenever it suits you.

## Safety and constraints: Do not pressure the user

Do not promise income, create fake urgency, or use push as direct pressure to deposit. Trust and timing matter more than a one-off tap.

## Pre-launch checklist

Run the scenario on three test profiles first, then on a small real group.

- [ ] The user has a confirmed reason to return right now.
- [ ] The audience, delay, and exclusions are described by events and periods.
- [ ] The copy names a real benefit, without income promises or fake urgency.
- [ ] The deep link opens the promised screen on iOS and Android.
- [ ] The main metric is the useful action after the tap, not just the open.

## How to know the trigger helps

- **Technical quality:** The event fires once, the exclusions work, and the deep link opens the right screen.
- **Useful action:** Push recipients complete the promised journey more often than a comparable group without the message.
- **Trust:** Notification opt-outs, complaints, and repeat messages to users who already finished do not grow.

## Key rule

A good first trigger is one truthful reason, a precise route, and a useful action after the tap.

---

- [HTML version](https://playbook.affpartners.io/en/practices/push-trigger/index.html)
- [All practices](https://playbook.affpartners.io/en/)
