When a WhatsApp campaign gets plenty of clicks but few orders, the message has managed to bring customers to your site, but they may have hit an obstacle after tapping the link. The link may open a page where the offer is nowhere to be seen, the size they wanted may be sold out, the discount may not come off in the cart, or checkout may break down on the phone. If you find no obstacle on the site, look for the problem in the numbers: the click count may include more than real interest, or the orders may have arrived but your analytics tool credited them to another source.
Once you separate message visits in your own reports, you can see whether the loss starts on the page the link opens, at size selection, in the cart or at checkout. By also testing what the click count measures and where orders are credited, you can decide whether the problem lies in the sales or in the report. On the busiest sale days, such as 11.11 (the November 11 shopping day) or the last week of November, starting these checks in the first hours after the send lets you close the gap while the campaign is still running; if you start after the sale period is over, you will know what to change before the next send.
Separate message visits from the rest of your traffic
If your reports suggest that the campaign gets clicks but no sales, start the diagnosis by isolating the visits the message brought to your site. If you added source parameters (UTM) to the campaign link, you can select just these visits in your analytics tool. A tag such as “?utm_source=whatsapp&utm_medium=campaign&utm_campaign=november-sale” tells you which send a visit came from. If you did not tag the link, you can get a rough idea from the pages whose visits jumped in the first hours after the send; for the next send, tag each campaign’s link with its own name.
List the pages where message visits started and pull four numbers: how many saw a product page, how many added a product to the cart, how many went on to checkout and how many placed an order. Calculate the same numbers for the rest of your traffic on the same days, for example visits from Instagram or from search. If the campaign is open to all visitors, the step where message visitors fall clearly behind tells you where to start looking:
- If visits start on pages other than the address in your message, or few go on to a product page, look at the page the link opens.
- If product pages are viewed but few products are added to the cart, look at size stock and at how the price is shown.
- If the add-to-cart rate matches other traffic but few move on to checkout, test the discount and the code in the cart.
- If many reach checkout but few orders follow, place an order from a phone yourself, and check whether orders are credited to another source when customers return from payment.
- If the click count is far above message visits in your analytics tool, first find out what the click count measures.
If you sent the campaign with Pushouse’s WhatsApp bulk messaging module, the results report shows how many of the messages were delivered and how many orders came in after the send. Also note which tool your click count comes from. Keep the send list; you will need it to match orders by the customer’s phone number.
The page that opens may not show the offer in the message
A customer who reads “30% off coats” in the message expects to see coats and 30% off when they tap the link. If the link opens the home page, they have to hunt for the campaign themselves. If a product page opens but the price shows no discount, they may conclude the discount does not apply to that product. If the product in the message image is not part of the campaign, or the campaign page was not yet live when the message went out, the customer runs into the same disconnect.
In the landing page report, list the addresses where message visits began. If your message carried a single link, nearly all tagged visits should start at that address. If the list shows other addresses, the link may be changing through a redirect: the address of a removed product can fall back to the home page, and an expired campaign page to a category. Also look at the share of visits that move from the landing page to a product page, and at site search. If message visitors type a product name into the search box on the first page, they may not have found the product they saw in the message on that page.
Then open the link the way a customer would: send the campaign message to your own phone and tap the link in WhatsApp. Check that the products named in the message appear on the first screen, that the price shows the discount or that a line next to the price says the discount comes off in the cart, and that products outside the campaign carry a line saying so. We explain in detail how to show the price line, the badge and the scope note on each page type in our guide to announcing a sale on your site.
A customer who received the message from you is already on your list. If a window asking for their phone number or WhatsApp consent pops up as soon as the page opens, they have to close it before they can see the campaign. If your pop-up tool lets you set rules based on the source parameter in the link, turn these windows off for visits from the message.
If the error surfaces while the campaign is running, the link in a message already sent will not change. If you gave the link through an address whose destination you can change later (for example, a redirect on your own domain), point it to the right page. If you did not use such an address, fix the page that opens: put a block linking to the campaign page at the top of the home page, or add the missing product to the campaign. If the error meant customers could not see the discount at all, send those who received the message a short correction the same day:
{{store name}}: The link in today’s campaign message opened the wrong page, sorry about that. All products at {{discount rate}}% off are here: {{campaign link}} The discount runs until 23:59 on {{end day}}. Tap “Stop promotions” below if you would rather not get campaign news.
The correction also counts as one of the campaign messages that customer gets that week; add it to the limit you set for campaign message frequency and send it only to customers who have not yet ordered in the campaign. If you send with approved templates, submit the correction text for approval in advance, together with your campaign templates, so you do not have to wait for a new template to be approved when an error happens.
Is the customer’s size still available on the clicked products?
The products that draw the most interest in a campaign can also be the ones whose stock runs out fastest. The product page stays live and the price is discounted, but the customer’s size or preferred color cannot be selected. Your analytics tool records the visit as a product view, but no add-to-cart follows. In clothing and footwear, products with broken size runs, where only the extreme sizes are left, can slip past you because the stock list still shows them as “in stock”.
List the ten products that message visits opened most. For each, compare the share of product page viewers who added it to the cart with the same product’s share in the two weeks before the campaign. Check the stock of products whose share dropped clearly, size by size. What matters here is the stock at the time of the send and on the first day of the campaign; today’s stock may not reflect that moment. If your platform keeps no stock history, save the size breakdown of the most clicked products to a file on the morning the campaign starts.
Two more signals confirm the loss. If your product pages have a button that collects requests for sold-out sizes, see which sizes collected the most requests during the campaign. Also count, product by product, the replies to the campaign message that ask about sizes and colors, such as “Will size M be back?” or “Is the black one gone?” If the requests that piled up during the campaign still bring no orders once the product is back in stock, we cover what to check in our guide to back-in-stock alerts that do not turn into sales.
While the campaign is running, the quickest fix is to move products with sold-out sizes down from the top rows of the page the message opens, and to replace the product you featured with one whose sizes are complete. For the next send, choose the product for the message image and first sentence from items that have stock in their best-selling sizes. In a message featuring a single product, compare the number of units in that product’s best-selling size with the number of people the message will reach. If a message goes to a few thousand people and only a handful of units are left in that size, most of those looking for that size will not be able to add the product to their cart.
Test the cart and checkout as a customer arriving from the message
If message visitors add products to the cart but do not move on to checkout, they may have seen a different total in the cart from what they read in the message. If they reach checkout but do not complete the order, look at two possibilities: payment may be breaking down on the phone, or the order may be coming in while your analytics tool credits it to another source. In both cases, run the test on your own phone, starting from the link in the message.
If the discount does not come off in the cart
Test the campaign rule in your own cart in four situations: with a single campaign product only, with one campaign product and one outside the campaign, and just below and just above the minimum cart amount. Be sure to put the product named in the message in the cart. If the discount rule is tied to a category or a product list, products added to the campaign later or newly added colors may have been left off that list. If you promised free shipping in the message, also check whether a shipping fee appears when the discount drops the cart below the threshold.
Fixing the cart is also a precondition for winning back abandoned carts. Pushouse’s WhatsApp cart recovery module sends a personal reminder to customers who add a product to the cart but do not complete the purchase; the message does not go to people who have not given permission or who have completed their order. A customer who arrived from the campaign link and left the cart also gets this reminder if they have given contact permission. Anyone who comes back to shop after the reminder meets the same discount rule, so first make sure the discount comes off correctly in the cart. You can see with your own figures how many orders these reminders could bring back each month in the cart recovery calculator.
If the code is rejected
For a code-based campaign, open your platform’s coupon report and compare the number of orders that used the campaign code with the number of add-to-carts from message visits. If your platform does not log failed code attempts, count the code complaints that reach customer service or come in as replies to the campaign message in the first hours after the send. Behind every customer who writes “the code doesn’t work” there may be others who left without telling anyone. Look for the reason first in the code’s settings:
- The code is set up for members only, while the customer is shopping without logging in.
- The code’s start time is set later than the time the message was sent.
- The code’s total usage limit ran out in the first hours.
- The code cannot be combined with another discount in the cart, but the rejection message does not say so.
- The spelling in the message differs from the code as set up, or the code contains a Turkish character: a customer who types İNDİRİM20 (with the Turkish dotted İ) may not be able to use a code set up as INDIRIM20.
Enter the code in the cart exactly as written in the message, from a phone and without logging in. If the rejection message only says “invalid code”, ask your platform provider for text that gives the reason; a sentence such as “This code is valid for carts of 750 TL and above” tells the customer what to do.
A customer who forgot to copy the code from the message has to go back to WhatsApp to find it at the cart. To let them get the code without leaving the page, you can use Pushouse’s discount tab: a visitor who taps the tab at the edge of the page sees the campaign text and the discount code and copies the code with one tap.
The reply to a code complaint can also save the order. Give your customer service team a ready reply that states the reason and the fix in the same message:
Hi {{customer name}}, thanks for getting in touch. The code {{discount code}} works once your cart total passes {{minimum amount}} TL, and only on campaign products; if your cart has an item outside the campaign, the discount does not apply to that item. If the code still isn’t accepted, send a screenshot of your cart here and we’ll complete your order together.
If checkout breaks down on the phone
A customer who reads the message on a phone opens the link on the phone; one who reads it on WhatsApp Web or the desktop app opens it on a computer. The device split gives you a ready-made comparison: break down the checkout-to-order rate of message visits by device. If customers on computers complete their orders while those on phones stall at checkout, look for the cause first in the phone checkout path. If phone visits from Instagram or search on the same days complete payment and only those from WhatsApp stall, look at where the link opens.
While checking the page, take the message you sent yourself all the way to a completed order this time; a test where you type the address into the browser does not show the path the customer takes. Open the message on an Android phone and on an iPhone and buy a campaign product with a real card. Note which browser the link opens in, whether your login and the products you added to the cart earlier are still there, and whether you return to the store’s order confirmation page after the bank’s verification. If the link opens somewhere other than the browser the customer uses every day, their saved address and card may not be there either. If your store has an app, the customer may have to shop on the site instead of the app, and may not be logged in there. We list the other points to test at checkout, from the numeric keypad to switching to the banking app, in the phone test in our guide to increasing e-commerce sales.
What does your click count actually count?
If you found no obstacle on the site, it is time to question the click itself. For the same send, a link shortener, your messaging tool and your analytics tool can show three different numbers. Ask the tool you take the click count from, or its provider, these questions:
- Does the number show clicks or people who clicked; is a customer who tapped the link three times because the page did not open counted three times?
- Are requests filtered out from systems that open the address automatically to build a link preview or run a security scan?
- Does a customer who taps the image in the message to enlarge it also count as a click?
- Are taps from the people a customer forwarded the message to added to the same number?
Forwarded messages matter especially in campaigns with personal codes. If the link is in the message text, it travels with the forwarded message; people who are not on your list and whom the campaign did not target may tap it too. A personal code in the message may not work for the person it was forwarded to, which can add to code errors in the cart.
Once you have the answers, put the number of people who clicked side by side with the number of messages delivered and the message visits in your analytics tool. If people who clicked far outnumber visits, the gap may come from the counting, from a page that never opened, or from an analytics tool that does not record visitors who decline cookies. See for yourself whether the page opens during the send. A message that goes to a large list in a short time can bring heavy traffic to the campaign page all at once; open the page from a phone right after the send, and if your platform or server keeps speed and error logs, look at those hours. If the page slows down, split the list into several parts, schedule the sends at intervals and lighten heavy videos or images on the campaign page.
If the counting holds up, the next question is the intent behind the click. A message that does not state the offer, such as “Our surprise sale has started”, gets taps even from customers who are merely curious. Some of those who then see the offer on the page may leave right away because it is in a category they do not care about or the discount is smaller than they expected. In the report, this can show up as visits that see a single page and leave quickly. When you put the discount, the scope and the end date at the start of the message, uninterested customers may not tap the link at all; clicks may fall, while the share of visits that turn into orders may rise. We show how to put the offer in the first line of the message in our campaign message examples.
A message sent to the wrong group can also produce curiosity clicks. A customer whose last purchase was shoes may browse a home textiles sale and leave. Split the send list into customer groups and calculate, group by group, how many of the people who received the message placed an order. If non-buyers cluster in a particular group, write a separate offer for that group in the next campaign or leave it out of the send. We go through the groups to separate from your list before a campaign, one by one, in our guide to customer groups for campaign messages.
You do not have to guess why visitors leave. You can ask a visitor who is about to close the campaign page a single question in a short survey that opens as they leave; base the answer options on the causes above: “I couldn’t see the discount from the message”, “My size is gone”, “The code didn’t work”, “Just browsing”.
The orders may have arrived but been credited to another source
A customer who taps the link and decides later may place the order in a later visit, from another device or from your store’s app, and your analytics tool may credit it to the source of that visit; while it looks as if the campaign gets clicks but no sales, some of the orders may in fact have come from the message. We used a customer example to show why the same order looks different in your messaging tool, analytics and ad platform.
The return from payment can also change an order’s source. The Google Analytics help page gives users who complete payment on a third-party payment provider’s page and then return to the site as an example of traffic that should not be counted as a referral. If a bank’s or payment company’s domain appears among the sources bringing orders in your report, some orders that started with the message may have been credited there. If you use Google Analytics, add these domains under “List unwanted referrals” in your data stream’s tag settings.
For a check that does not depend on your analytics tool, match the send list against the campaign days’ orders by phone number. Without looking at which source an order came from, count how many of the customers who received the message placed an order. Spread the matched orders over the days after the send: the same day, the next day and later. If a large share of recipients’ orders arrives the next day or later, a report that counts only orders placed in the same visit as the click or on the day of the send may understate the campaign’s effect.
Recipients’ orders also include customers who would have bought even without the message. To see the message’s own contribution, leave a small, randomly chosen group from the list out of your next campaign’s send; we explain what to watch for when comparing the two groups’ order rates, and which columns your monthly results sheet needs, in our guide to reading a WhatsApp campaign report.
Run the matching the same way after every campaign and add the number of recipients who ordered to your monthly sheet, next to the number of people who clicked. After a few campaigns, your own numbers will show which level of clicks turns into orders among your customers. For the next send, you will find the steps for uploading the list, scheduling the send and tracking the results on the WhatsApp bulk messaging page.



