1. Save info about products added to cart
When a visitor adds a product to shopping cart, you need to save MaxTraffic Visitor ID, product ID and date in your own database. You can create a table shopping_cart_tmp with 3 columns: MtVisitorId, ProductId, date
To get MaxTraffic Visitor ID, use following script:
So when someone adds a product to cart, you need to execute script similar to this one:
2. Delete info from DB, if product is removed from cart
If visitor removes any product from his shopping cart, you also need to delete it from shopping_cart_tmp table.
3. Delete info from DB, if purchase is completed
If visitor completes the purchase, then also delete all rows from shopping_cart_tmp table that are related to the specific visitor.
4. Create a Cron task to send Cart Abandonment notifications
Create a cron task that executes once per minute and checks - if there are any users who have not finished purchases and date is older than 1 hour:
SELECT DISTINCT(MtVisitorId) FROM shopping_cart_tmp WHERE DATE_ADD(date, INTERVAL 1 HOUR) < NOW()
Then use MaxTraffic's REST API to send out a Push Notification to them. More info how to send a message with our REST API, is available here: dev.maxtraffic.com/#operation/addNotification
To send notification using MaxTraffic user ID (mtsdk.visitorId), you need to use parameter to_uids
And after you have sent the notifications, delete all the rows you just selected (so you don't send notifications to the same visitors again next time the cron task is executed):
DELETE FROM shopping_cart_tmp WHERE DATE_ADD(date, INTERVAL 1 HOUR) < NOW()