Push Plan + Smart Push Best Practices
1. Feature Overview
EngageLab introduces two key features to help developers achieve smarter and more efficient message delivery management:
Push Plan:
- Used to identify and manage a series of related push tasks, enabling unified attribution and analysis at the statistics and operations level. Console usage can be found in the Push Plan guide, and API integration details are available at the Push Plan API.
Smart Push:
- Smart Push is a unique EngageLab feature designed to optimize notification click-through rates. Each time a user visits your service via a website or mobile app integrated with the EngageLab SDK, we track their most recent active time. The system records this data and sends notifications at an appropriate time based on each user’s device timezone and historical usage patterns. For users without historical active data (e.g., newly registered users), you can choose to send immediately or schedule a specific time (based on the user’s timezone) to ensure every target user has a defined delivery time.
- For API integration of Smart Push, please refer to the Scheduled Tasks API and use the
intelligent
trigger. This trigger automatically sends notifications at the optimal time in the user's local timezone based on their latest active time, improving click-through rates.
2. Typical Use Cases and Recommended Practices
✅ Scenario 1: Large E-commerce Promotion Event (e.g., Year-End Appreciation Sale)
Goal: Send multiple flash sale reminders and discount notifications within 5 days, delivering personalized timing for each user.
Implementation Steps:
- Create a push plan using
POST /v4/push_plan
, e.g.,plan_id=promo_year_end_2025
; - For each promotion message, create scheduled tasks via
POST /v4/schedules
using the Scheduled Tasks API, enabletrigger.intelligent
mode and setbackup_time
; - Set the
plan_id
in theoptions.plan_id
field for later statistical attribution and analysis; - Use the Push Plan Statistics API to batch query lifecycle data across multiple plans, including segmented metrics by platform, vendor, and message type.
✅ Scenario 2: Multi-language Social App Going Global
Goal: Deliver personalized “re-engagement reminders” and “new feature announcements” based on users’ geographic location and timezone.
Best Practice:
- Use tags or
registration_id
to precisely target users in different regions (e.g., US, IN, PH); - In a single push task, utilize the
options.multi_language
to configure multi-language content. The system automatically displays the appropriate message based on the user’s device language. Enable theintelligent
scheduler for optimal delivery timing; - Include
plan_id
in theoptions.plan_id
field for campaign attribution and performance analysis.
3. Detailed API Usage Workflow
1. Create a Push Plan
POST /v4/push_plan
Authorization: Basic base64(appKey:masterSecret)
Content-Type: application/json
{
"plan_id": "promo_year_end_2025",
"plan_description": "Year-End Appreciation Sale Push Plan"
}
POST /v4/push_plan
Authorization: Basic base64(appKey:masterSecret)
Content-Type: application/json
{
"plan_id": "promo_year_end_2025",
"plan_description": "Year-End Appreciation Sale Push Plan"
}
This code block in the floating window
2. Create a Smart Push Task (Bind to Plan)
POST /v4/schedules
Authorization: Basic base64(appKey:masterSecret)
Content-Type: application/json
{
"name": "promo_year_end_reminder_01",
"enabled": true,
"trigger": {
"intelligent": {
"backup_time": "2025-12-28 09:00:00"
}
},
"push": {
"from": "push",
"to": {
"registration_id": [
"regId_userA", "regId_userB"
]
},
"body": {
"platform": "android",
"notification": {
"alert": "Flash Sale is live! Grab it now!",
"android": {
"title": "Hot Deals Incoming",
"extras": {
"promo": "year_end_sale"
}
}
},
"options": {
"plan_id": "promo_year_end_2025",
"time_to_live": 86400
}
},
"request_id": "req_year_end_01",
"custom_args": {
"task": "reminder_01"
}
}
}
POST /v4/schedules
Authorization: Basic base64(appKey:masterSecret)
Content-Type: application/json
{
"name": "promo_year_end_reminder_01",
"enabled": true,
"trigger": {
"intelligent": {
"backup_time": "2025-12-28 09:00:00"
}
},
"push": {
"from": "push",
"to": {
"registration_id": [
"regId_userA", "regId_userB"
]
},
"body": {
"platform": "android",
"notification": {
"alert": "Flash Sale is live! Grab it now!",
"android": {
"title": "Hot Deals Incoming",
"extras": {
"promo": "year_end_sale"
}
}
},
"options": {
"plan_id": "promo_year_end_2025",
"time_to_live": 86400
}
},
"request_id": "req_year_end_01",
"custom_args": {
"task": "reminder_01"
}
}
}
This code block in the floating window
3. Query Push Statistics by plan_id
4. Best Practice Summary
Step | Recommended Practice |
---|---|
Campaign Setup | Use the push_plan API to create a campaign plan |
Smart Delivery | Use the schedules API combined with trigger.intelligent |
Personalization | Utilize tags and registration_id for precise targeting |
Performance Attribution | Use options.plan_id to tag campaigns for stats and analysis |
For more details on integration, please refer to EngageLab official documentation or contact our support team at support@engagelab.com.