DM Spark
Audience growth

Did your Instagram DM campaign work? A simple review

Separate delivered DMs, recorded clicks, website visits, and real outcomes so your next campaign decision has a clear basis.

By DM SparkPublished 7 min read

Quick answer

Review a DM campaign in separate steps: delivery, recorded link activity, website visits, and completed outcomes. Give the destination link a consistent campaign label, write down each report's dates and counting rules, and choose one change to test next. A click count alone cannot tell you how many people bought.

Start with the decision you want to make

Your Reel collected comments, the automation sent DMs, and the link has clicks. Should you repeat the post, change the offer, or fix the booking page? A short campaign review can help you decide, as long as each number answers a specific question.

Pick one outcome before publishing: completed workshop bookings, orders for a product, or visits to a useful resource. Write down which post, connected account, Spark, and destination belong to this campaign. If one Spark covers several posts, its totals describe that combined scope; they do not isolate the Reel you happen to be looking at.

Choose a reporting period and a review date. Record the timezone too, especially when your booking system and DM dashboard use different ones. Keep later bookings visible as a later result instead of quietly changing the period every time you open a report.

Give each number a job

  • Messages sent: did delivery happen?In DM Spark, successful DMs count toward this metric. Openings, follow-ups, and reminders can mean several messages for one recipient. A public comment reply is not a DM.
  • People reached: who received a DM?This counts distinct recorded recipients in the relevant scope. Adding the reach of several Sparks can count the same recipient again. Separate connected accounts cannot reliably identify the same human.
  • Link clicks: was the destination opened?Spark link-click totals include recorded repeat opens and can include multiple destinations. Use the per-link breakdown when available, and distinguish total clicks from the people associated with them.
  • Completed outcomes: did the requested action finish?Use your shop, booking system, or form records for this step. Record the completed action and the system's campaign attribution; a DM delivery or link click does not establish a purchase.

Keep the report's range beside each number. Some views show lifetime totals. Subtracting start and end totals can show additional sends or clicks, but a change in lifetime unique people misses returning recipients. Use a suitable dated report where available, or keep the lifetime number clearly labeled rather than presenting it as that week's audience.

The saved Links library also has its own counting rules: its public short-link totals include requests such as repeats, previews, and bots. Keep those totals separate from a Spark's recipient-based reporting. None of these counts verifies that someone opened a native app or placed an order.

Label the link before you share it

For a page you control, campaign parameters can distinguish an Instagram DM link from other routes to that page. Google documents utm_source, utm_medium, utm_campaign, and utm_content in its campaign URL guide.

This fictional workshop link uses instagram for the source, social for the medium, autumn_workshops for the campaign, and dm_reel_a for this placement. Replace the example address with your own page before using it.

https://example.com/workshops?utm_source=instagram&utm_medium=social&utm_campaign=autumn_workshops&utm_content=dm_reel_a

Keep the campaign name consistent across its placements, and change the content label for another Reel or Story. Google notes that parameter values are case sensitive, so choose a lowercase naming convention. Its guide also explains how to find campaign values in the Traffic acquisition report when Google Analytics is configured on your site.

If the destination already has a query string, add parameters with an ampersand rather than a second question mark. Preserve any existing product or affiliate parameters. Use campaign labels rather than a person's name or email address: Google's URL guidance says Analytics URLs and parameters must be free of personally identifiable information.

Put the labeled destination into the Spark's link field. If you select a saved link in DM Spark, the editor copies its destination into the Spark; later edits in the Links library do not update that existing Spark. Check the link in the Spark itself before going live.

Test the complete path on a phone

From another Instagram account, trigger the automation, open the delivered link, and check the final destination after any redirects. Confirm that the campaign parameters survive and that the booking, checkout, or form still works. Follow your shop's normal test process and keep test actions out of your campaign review where your tools allow it.

Adding parameters does not install analytics or make a third-party booking tool report purchases. Confirm what your destination and checkout actually record. If the booking takes place on another website, check that provider's campaign reporting before relying on it for attribution.

Google defines a session as a period of activity on a site or app. It is a different unit from a link open. Google also describes repeat clicks and a page closing before tracking loads in its clicks-versus-sessions troubleshooting guide for Google Ads. Those examples illustrate why you should not expect a DM click counter and a website session report to match exactly.

Read a small result without overstating it

Imagine a fictional campaign review showing 120 people reached, 35 recorded link clicks, 22 website sessions, and 3 bookings credited by the booking report. These are invented teaching numbers, not a benchmark or a DM Spark customer result.

You can say the campaign delivered DMs and recorded activity at each of those steps. You cannot say 35 different people visited, because clicks may repeat. You also cannot treat the four figures as a perfectly matched set of people: the tools use different identities, ranges, and attribution rules. A report crediting three bookings is not proof that the campaign caused every one.

If purchase attribution is unavailable, label it unavailable. That is different from a verified zero. Keep customer questions alongside the numbers; several people asking about workshop dates may tell you something a click total cannot.

Choose one change for the next test

  • Requests arrive, but DMs do notCheck the trigger, matching keyword, live status, connection, and delivery records before rewriting the offer. A delivery problem and a weak offer need different fixes.
  • DMs arrive, but the link gets little activityCheck whether the first message delivers what the post promised. Make the button destination clear, and review any confirmation step the reader must complete.
  • The link gets activity, but bookings are lowTest the destination on a phone. Check the available dates, price, fulfillment details, and checkout. Verify purchase reporting before concluding that nobody bought.
  • You want to compare two versionsKeep the offer, audience, reporting period, and other conditions as comparable as practical. Change one meaningful element and record it. Small organic campaigns are directional evidence, not a controlled experiment.

The DM flow decision guide can help with confirmation steps. The gift-guide campaign plan shows how to maintain the destination during a seasonal offer.

Copy this campaign review worksheet

One page for the next decision

Campaign and goal:
Post, account, and Spark included:
Campaign link and naming convention:
Reporting dates and timezone:
Messages sent (source and date range):
People reached (source and date range):
Recorded link clicks (source and date range):
Website sessions (source and date range):
Completed bookings or orders credited by the store:
Known gaps and customer questions:
One change for the next test:
Review date:

Fill it in once the campaign has had time to run, record the review date, and choose the next action. A useful review ends with a specific decision supported by the numbers you can actually verify.

Questions

Does a recorded DM link click mean someone bought?

No. A click records an interaction with a link. Check your shop or booking system for completed transactions and how that system credits the campaign. Keep delivery, clicks, website sessions, and completed outcomes as separate measures.

Why do my DM link clicks and website sessions differ?

They count different things. Link-click totals can include repeat opens, while an analytics session groups website activity. Tracking setup, page loading, and the reporting window also affect what is recorded. Test the journey before treating a difference as a broken campaign.

What if I cannot track purchases back to the campaign?

Report the steps you can verify, such as delivered DMs and recorded visits, and mark purchases as unavailable. Add a campaign label or a suitable booking-source question for the next test. Do not turn missing attribution into a claim of zero sales or guaranteed sales.