Back to blog
ShopifyEcommerceInstagram automationAbandoned cart

Shopify Instagram DM automation: cart recovery, restock alerts, and order lookup

Connect Shopify to Instagram DM automation using ManyChat webhooks, Klaviyo flows, and RapidDM product carousels to recover lost carts and drive repeat sales.

RapidDM//8 min read

Most direct-to-consumer ecommerce stores run the same cart recovery playbook: an automated three-email sequence sent via Klaviyo or Mailchimp.

The problem is inbox deliverability. In ecommerce, standard promotional emails average an 18% to 22% open rate. Over 75% of mobile shoppers who abandon a checkout never see the recovery email before they buy elsewhere.

Instagram direct messages change mobile conversion math:

  • Average DM open rate: 82%
  • Average DM click-through rate: 28%
  • Median time to open: 4 minutes from notification

When a shopper browsing an Instagram Reel taps a comment and receives a checkout link with an auto-applied discount inside their DMs, friction disappears.

Here is the operational guide to connecting Shopify with Instagram DM automation using ManyChat, Klaviyo, webhooks, and RapidDM.

The 24-hour messaging window for Shopify stores

Before setting up any store automation, understand Meta's Messaging API policies.

Meta enforces a strict 24-hour standard messaging window:

Customer initiates contact (comments or sends DM)
  │
  ├─ Clock starts: 24 hours of promotional messaging allowed
  │    ├─ Product links
  │    ├─ Abandoned cart reminders
  │    └─ Discount codes
  │
  └─ Clock expires: 24+ hours
       ├─ No promotional messages allowed
       └─ Only non-promotional message tags (Account updates, confirmed events)

You cannot send an unsolicited Instagram DM to a customer simply because they added an item to a cart on your Shopify store. The customer must have interacted with your Instagram account first.

The most effective ecommerce architecture pairs on-site opt-ins or comment triggers with Shopify cart tracking.

Connecting Shopify to ManyChat

ManyChat provides a dedicated Shopify App in the Shopify App Store that syncs customer events and order data.

Step 1: Install and authorize the ManyChat Shopify app

  1. Log into your Shopify Admin dashboard.
  2. Navigate to Apps > search for ManyChat.
  3. Click Install app and approve API permissions for reading orders, customers, and checkout data.
  4. In your ManyChat dashboard, go to Settings > Integrations > Shopify and verify the store status shows active.

Step 2: Set up the abandoned checkout trigger in ManyChat

  1. Open ManyChat and click Automation > New Flow.
  2. Select the trigger: Shopify > Abandoned Checkout.
  3. ManyChat checks if the checkout email or phone number matches an existing ManyChat subscriber.
  4. Add a condition node:
    • Check if Last Interaction with Instagram is within the last 23 hours.
  5. If true:
    • Add a delay block: 45 minutes (do not send immediately; allow the customer time to complete their checkout naturally).
    • Add an Instagram message node: "Hey [First Name], noticed you left the [Product Name] in your cart. We held your size for the next 2 hours. Tap below to complete your order: [Checkout URL]"
  6. If false (customer interacted over 24 hours ago):
    • Route to email or SMS channel instead of Instagram DM to avoid Meta policy violations.

Building custom Shopify webhooks with Make or Zapier

If you do not want to use ManyChat's native Shopify app or if you use an alternative automation stack, you can route Shopify cart events via webhooks.

The Shopify checkout creation payload

Shopify fires a checkouts/create and checkouts/update webhook when an item is added to the cart:

{
  "id": 1429851029384,
  "token": "12345abcdef",
  "cart_token": "67890fedcba",
  "email": "[email protected]",
  "abandoned_checkout_url": "https://yourstore.com/12345/checkouts/12345abcdef?key=abc",
  "line_items": [
    {
      "title": "Minimalist Leather Backpack",
      "price": "149.00",
      "quantity": 1,
      "sku": "BP-LTH-BLK"
    }
  ]
}

Routing webhooks to Instagram automation

  1. In Shopify Admin, navigate to Settings > Notifications > Webhooks.
  2. Click Create Webhook:
    • Event: Checkout creation
    • Format: JSON
    • URL: Your Zapier or Make webhook catch URL
  3. In Zapier, create a filter:
    • Only continue if completed_at is null (indicating the cart has not yet converted).
  4. Add a delay: 60 minutes.
  5. Look up the customer's Instagram handle using their email address from previous CRM interactions.
  6. Trigger the Instagram direct message using your automation provider's API.

Comment-to-cart on Instagram Reels: the highest-converting funnel

While abandoned cart recovery saves lost sales, comment-to-cart automation creates new sales directly from organic Reels and ads.

Instead of directing viewers to a generic "link in bio" where they must find the product manually, use a direct keyword trigger:

Reel demonstrating product -> "Comment BAG for direct checkout + 10% off"
  │
  ├─ Inbound comment fires webhook
  │
  ├─ Auto-reply to public comment: "Sent the link to your DM!"
  │
  └─ Immediate private DM:
       ├─ Product image card
       ├─ Direct permalink to Shopify cart with auto-applied discount
       └─ Follow-up reminder after 4 hours if unpaid

Generating pre-filled Shopify checkout links

Shopify supports direct checkout URLs that add items and apply discount codes automatically. Format your URLs like this:

https://yourstore.com/cart/{variant_id}:{quantity}?discount={discount_code}&ref=instagram_dm

For example:

https://minimalliving.com/cart/4129851029384:1?discount=INSTA10&utm_source=instagram&utm_medium=dm&utm_campaign=reel_leather_bag

When the follower taps this link inside their Instagram DM, Shopify opens directly to the payment step with their 10% discount already applied. This eliminates three navigation steps and doubles mobile conversion rates.

Back-in-stock alerts via Instagram DMs

Running out of popular inventory usually causes lost revenue. Email waitlists capture 5% to 8% of interested shoppers. Instagram DM waitlists capture 25%+.

Setting up a DM restock campaign

  1. When a product variant is sold out, post a Story or Reel: "Restocking our heavy fleece hoodies this Friday. Reply HOODIE to get notified first."
  2. Set your automation tool to listen for HOODIE.
  3. The automation replies: "Added you to the priority drop list. When inventory lands, we will send your private link here."
  4. Tag the user in your platform: waitlist_hoodie_black_large.
  5. On restock day, trigger a broadcast or sequence to all tagged users with the direct product purchase link.

Because these users opted in via direct message within the last 24 hours or in response to a specific broadcast, open rates on restock DMs often exceed 90%.

Sending multi-product carousels in RapidDM

Many chat tools send flat text links that look generic. RapidDM lets ecommerce brands send rich Product Carousels inside Instagram DMs.

A product carousel displays up to 10 visual cards that followers can swipe through directly inside the Instagram message thread.

How to configure product carousels in RapidDM

  1. Navigate to Automations in your RapidDM dashboard and create a new automation.
  2. Select your trigger post or reel (e.g., a carousel showing three new sneaker colorways).
  3. Set your keyword trigger: DROPS.
  4. In the Action block, select Carousel Message.
  5. For each card, upload:
    • High-resolution product image (1:1 aspect ratio)
    • Product title (e.g., "Retro Low Runner - Chalk White")
    • Subtitle/Price (e.g., "$120 | Limited Run")
    • CTA button: "Buy Now" linking to your pre-filled Shopify cart link
  6. Enable the Follower Gate: Require users to follow your account before the carousel is delivered.
RapidDM Carousel Structure inside Instagram DMs:
[ Card 1: Chalk White ] <---> [ Card 2: Obsidian Blue ] <---> [ Card 3: Forest Green ]
[ Buy Now Button      ]       [ Buy Now Button        ]       [ Buy Now Button       ]

This interface keeps shoppers inside their native Instagram habit while browsing multiple items.

Tracking revenue and Shopify analytics attribution

Do not guess whether your DM automation generates revenue. Track every link with explicit UTM parameters and Shopify discount attribution.

UTM tagging structure for Instagram DM campaigns

Append clean UTM parameters to every product link sent in automated DMs:

ParameterRecommended valueExample
utm_sourceinstagramutm_source=instagram
utm_mediumdmutm_medium=dm
utm_campaignSpecific campaign nameutm_campaign=summer_drop_reel
utm_contentSpecific trigger or variantutm_content=comment_trigger_bag

In Shopify Analytics, go to Reports > Sales attributed to marketing. Filter by utm_medium = dm. You will see exact revenue, average order value (AOV), and total units sold directly through your automated direct messages.

Creating dedicated Shopify discount codes

Create a unique discount code exclusively for DM automations (e.g., DM10 or INSTA_SECRET). In Shopify Admin, check the performance of that specific discount code under Discounts. This provides a second validation metric independent of browser cookie tracking.

Technical checklist for ecommerce launch

Before activating your Shopify DM automation:

  1. Test your checkout links on an iPhone and Android device from a separate test account.
  2. Verify that your Shopify discount codes do not combine with unapproved coupons unless intended.
  3. Check your automated comment replies to ensure you have at least 4 distinct variations rotating.
  4. Ensure your automation software automatically pauses when a customer asks a support question (e.g., "where is my tracking number?") so your human support agents can intervene.

How RapidDM fits

RapidDM makes ecommerce DM automation direct and visual. Send multi-product carousels with pre-filled Shopify checkout links, trigger discount codes on Reel comments, and gate flash drop access behind a follower requirement.

Start with RapidDM if your Shopify store needs to turn Instagram comments into completed checkouts.

Keep reading

Related articles

All articles