logoDocument
Search
Login

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.

alt text

  • 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.

✅ 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:

  1. Create a push plan using POST /v4/push_plan, e.g., plan_id=promo_year_end_2025;
  2. For each promotion message, create scheduled tasks via POST /v4/schedules using the Scheduled Tasks API, enable trigger.intelligent mode and set backup_time;
  3. Set the plan_id in the options.plan_id field for later statistical attribution and analysis;
  4. 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:

  1. Use tags or registration_id to precisely target users in different regions (e.g., US, IN, PH);
  2. 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 the intelligent scheduler for optimal delivery timing;
  3. Include plan_id in the options.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

Push Plan Statistics

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.

icon
Contact Sales