Push Messages¶
Menu Location: Tools > Push Messages (push-pending.php)
Last Updated: 2026-09-22
Overview¶
The Push Messages page manages mobile app push notifications. View queued notifications, monitor delivery status, configure automated push messages, and engage customers through their mobile devices.
Primary Functions:
- View push notification queue
- Monitor sent and pending push messages
- Configure automated delivery notifications
- Send push messages immediately
- Track push message engagement
- Manage the Firebase (FCM) push configuration
Page Layout¶
Header Section¶
- Push On/Off Toggle: Enable or disable push system
- Send Pending Now: Manually trigger push sending
- Settings Button: Configure automated push messages
- Search Bar: Find specific notifications
Status Filter¶
- Pending: Notifications waiting to send
- Sent: Delivered notifications
- All: Complete notification history
Statistics Dashboard¶
- Active App Installs: Customers with app and push enabled
- Messages Sent (30 days): Push notifications delivered
Push Notification System¶
How Push Sending Works¶
Automatic Process:
- System generates push notifications based on triggers
- Messages added to queue
- Queue processes batches every 10 minutes
- Sends through the service your store's Push delivery setting selects (OneSignal or Firebase Cloud Messaging)
- Marks as sent
- Retains history for 14 days
Sending Hours: Push messages only sent 9am-6pm to respect customers.
Viewing Push Messages¶
Table Columns¶
- Push ID: System identifier
- Cust ID: Customer receiving notification (clickable)
- Date Sent: Delivery timestamp or "pending"
- Title: Push notification headline
- Message: Notification content
- Target URL: Where notification links when tapped
- Options: Delete button
Automated Push Notifications¶
Settings Configuration¶
Click "Settings" button to configure automated pushes:
Delivery Today Push:
- Status: On/Off
- Title: Notification headline
- Message: Body text
- Target URL: Where user goes when tapped
- Timing: Sent ~8:20am on delivery day
Purpose: Remind customers of today's delivery
Delivery Completed QR Code Push:
- Status: On/Off
- Title: Notification headline
- Message: Completion message
- Target URL: Where user goes when tapped
- Trigger: When driver scans QR code
Purpose: Confirm delivery to customer
Message Templates¶
Available Merge Tags: System may support dynamic content insertion
- Customer name
- Delivery time
- Order details
- (Varies by configuration)
Managing Push Queue¶
Send Pending Now¶
Forces immediate send of queued messages:
- Bypasses normal schedule
- Processes all pending
- Uses same batch limits
- Useful for urgent announcements
Delete Messages¶
Individual: Click delete icon to remove from queue
Bulk Delete: "DELETE ALL" button clears entire pending queue
- Confirmation required
- Cannot be undone
- Only affects pending messages
Search & Filtering¶
Search Function¶
Search by:
- Customer ID
- Title content
- Message text
Filter by Status:
- Pending (default view)
- Sent (delivery history)
- All messages
Push Statistics¶
Active App Installs¶
Count of customers with:
- Mobile app installed
- Push notifications enabled
- Active device registration
Grow This Number:
- Promote app to customers
- Include download links in emails
- Highlight app benefits
- In-app prompts for push permission
Messages Sent (30 days)¶
Total push notifications delivered in last month
Track Trends:
- Growth over time
- Engagement rates
- Delivery success
- Feature adoption
Common Use Cases¶
Use Case 1: Configure Delivery Reminders¶
Goal: Set up automated delivery day notifications
Steps:
- Click "Settings" button
- Scroll to "Delivery Today Push Message"
- Set Status: On
- Enter Title: "Your delivery is on the way!"
- Enter Message: "Your fresh box will arrive today between 8am-6pm"
- Set Target URL: (default to home page)
- Click "Save Settings"
- Notifications auto-send on delivery days at 8:20am
Example Message: Title: "Delivery Today!" Message: "Your fresh organic produce arrives today. Someone should be available to receive it." URL: https://yoursite.com/home/welcome
Use Case 2: Send Urgent Announcement¶
Goal: Notify all app users of important update
Steps:
- Use another tool to create push messages to customer segment
- Messages appear in push queue as pending
- Go to Push Messages page
- Verify messages in queue
- Click "Send Pending Now"
- Notifications deliver immediately
- Confirm sent status
Use Case 3: Monitor Push Engagement¶
Goal: Track push notification program effectiveness
Steps:
- Review "Active App Installs" weekly
- Track growth trend
- Check "Messages Sent" volume
- Filter to view recent notifications
- Compare to customer engagement metrics
- Adjust strategy based on data
Troubleshooting¶
Push Not Sending¶
Check:
- Push toggle is ON
- Push configured: either OneSignal or the FCM Service Account JSON must be set (a store with neither is not able to send)
- The Push delivery setting matches the app your customers have (a store set to FCM only cannot reach customers still on the old OneSignal apps)
- Device has push enabled
- Not outside sending window (9am-6pm)
- Customer has app installed
Solutions:
- Verify push configuration in Settings > Android/iOS App Settings
- Check customer's device registration
- Test with single device
- Review the Firebase / Google Cloud console for delivery errors
Customer Not Receiving Push¶
Common Reasons:
- App not installed
- Push notifications disabled in app
- Device unregistered
- Push permission denied
- App uninstalled/reinstalled
Resolution:
- Check customer has active device in users_devices table
- Verify app installation
- Ask customer to enable push in device settings
- May need app reinstall
Settings Not Saving¶
Check:
- Admin permissions
- Form fields complete
- Title/message within character limits
- Valid URL format
Push Configuration¶
Requirements¶
Push notifications are delivered either through OneSignal (the apps your customers already have) or through Firebase Cloud Messaging (FCM), for the new apps. A Kiva Logic admin sets which one your store uses with the Push delivery setting on the Settings > Android/iOS App Settings page:
- OneSignal (default) - send only through OneSignal
- Both - reach each device by whichever service it registered with (used during the rollover to the new apps)
- FCM only - send only through FCM, once all customers have moved to the new apps
The FCM side needs two values on that same page:
- FCM Project ID - the Firebase project id pushes are sent from
- FCM Service Account JSON - the full service-account key JSON for that project
Setup: Push works as soon as either service is configured. Until then, this page redirects to the apps configuration page, and the "Send Push Message" buttons on customer, order, and weekly cycle pages stay hidden.
FCM relays iOS notifications to Apple APNs, so there is no push certificate to upload here - the APNs key is uploaded into the Firebase project instead.
Delivery Diagnostics¶
Delivery errors are logged by the system when FCM rejects a send. For per-message detail, use the Firebase / Google Cloud console for the tenant's project.
Best Practices¶
Message Content¶
- Keep titles under 32 characters
- Messages under 64 characters
- Clear, action-oriented text
- Test on actual devices
Timing¶
- Respect sending windows
- Don't over-notify
- Consider customer time zones
- Send during waking hours only
Engagement¶
- Use compelling titles
- Include clear call-to-action
- Link to relevant content
- Track which messages perform best
Compliance¶
- Respect opt-outs
- Don't spam customers
- Provide value in notifications
- Allow easy disabling
Related Pages¶
- Android/iOS App Settings - Configure the FCM Project ID and Service Account JSON
- Users Devices - View device registrations
- Mobile App - Customer app features
Quick Reference¶
| Task | Action |
|---|---|
| View pending | Default view |
| Send immediately | Click "Send Pending Now" |
| Configure auto-push | Click "Settings" > Edit forms > Save |
| Search messages | Enter search term > Search |
| Delete message | Click delete icon |
| Clear queue | "DELETE ALL" > Confirm |
| Enable/Disable push | Toggle at top |
| Check active devices | View "Active App Installs" stat |
FAQs¶
Do customers need the mobile app?¶
Yes, push notifications only work for customers with your app installed.
How do customers enable push?¶
They enable during app setup or in device settings.
Can we send push anytime?¶
System restricts to 9am-6pm by default to avoid disturbing customers.
What's the difference between SMS and Push?¶
SMS goes to phone number (costs money). Push goes to app (delivered through Firebase Cloud Messaging, which is free at any volume).
How do we grow push subscribers?¶
Promote mobile app, highlight benefits, make app easy to download and use.
Change Log¶
2026-09-22¶
- Push can send through Firebase Cloud Messaging (FCM v1) as well as OneSignal, chosen per store by the new Push delivery setting on Android/iOS App Settings
- OneSignal keeps working by default, so the apps customers already have keep receiving push
- This page no longer requires the FCM Service Account JSON: push is available when either service is configured
- No iOS push certificate to upload (FCM relays to Apple APNs)
2026-03-01¶
- Initial documentation created
- Documented automated push configuration
- Added queue management details
End of Documentation
For additional help, contact your system administrator or Kiva Logic support.