Data & measurement

Sales closed on WhatsApp and paid via Yape: why your campaign misses them

In Peru, a large share of sales close on WhatsApp and get paid through Yape or Plin, without ever touching an online checkout. That sale is real, but the platform that brought the buyer never finds out. The fix is matching the lead phone number to the confirmed payment, the same key already used to upload offline sales to ad campaigns.

A graphite illustration of a mobile phone with a chat screen on one side and a solid orange coin moving out of the screen on the other side, representing the payment that happens outside the conversation

What matters

  • In Peru, a large share of small and mid-size sales close on WhatsApp or Instagram and get paid through Yape or Plin, without ever touching an online checkout.
  • Without that sale uploaded to the ad platform, the algorithm optimizes against a fraction of the real result and learns to look only for the buyer who completed a formal checkout.
  • Phone number is the natural key because it identifies both the lead who messaged and the account that received the Yape or Plin payment.
  • It is the same architecture that already solves the in-store sale problem, applied to a fully digital channel.

A lead messages on WhatsApp after seeing an ad, asks for the price, requests one more photo and confirms the purchase. The payment lands minutes later through Yape. For the business, the sale is closed and paid. For the platform that showed the ad, that person still looks like a click that never converted, because it never completed a checkout or fired a pixel.

The informal checkout is the real checkout across much of Peru

In Peru, Yape and Plin became the default payment method for much of small and mid-size sales, and those sales often get negotiated on WhatsApp or Instagram before any transfer happens. That path (ad, chat, wallet payment) never touches a page with a purchase event, so no ad platform has any way of knowing it happened.

This is not exclusive to one category. It hits the apparel brand selling through an Instagram catalog, the food business taking orders on WhatsApp, and any business whose buyer prefers to resolve everything over chat instead of a checkout form. The higher that volume, the bigger the share of real results the algorithm never sees.

What breaks when that sale never makes it back to the campaign

Meta or Google’s algorithm optimizes against the conversions it receives. If it only gets purchases with a formal checkout, it learns to look for that buyer profile and stops looking for the one who resolves everything over chat, which in several categories in Peru is the common case, not the exception. Meanwhile, the report shows a cost per result worse than the real one, simply because it is missing a chunk of the actual sales.

How to recover that sale for the report

  1. Use phone number as the single identifier. It is the data the lead already left when messaging on WhatsApp and, in most cases, the same one tied to the account that made the Yape or Plin transfer.
  2. Log every chat-closed sale with that phone number, date and amount. A daily spreadsheet is enough to start: there is no need to integrate bank systems.
  3. Upload those sales as offline conversions to the ad platforms, the same way you would with an in-store sale.
  4. Build an exclusion audience out of those buyers so the campaign stops spending on re-targeting someone who already paid.

It is the same identity problem covered in attribution models and why last click lies: a sale exists, but the system that decides where budget goes never learns about it unless something explicitly tells it. Here the fix is a shared identifier and a routine that uploads that sale to the platform, the same pattern used for any conversion that happens outside a formal checkout. It is also the standard we apply in data marketing for Peru: before spending more on ads, you need the algorithm learning from every sale, not only the ones that went through an online cart.

If your business closes sales on WhatsApp and gets paid through Yape or Plin, your reported cost per result is probably worse than your real one.

Frequently asked questions

Why do Meta or Google not see a sale paid through Yape?

Because those platforms attribute conversions from a checkout event or a pixel that fires on a page they own. A sale negotiated over chat and paid through a transfer between digital wallet apps never touches either one, so to the platform that person still shows up as a click that never converted.

Which identifier should I use to match a WhatsApp lead to a Yape or Plin payment?

The phone number. It is the data point you already have from the lead who messaged you and, in most cases, the same one tied to the account that made the transfer. Matching on phone avoids depending on the buyer entering their name the same way on both platforms.

Does this only apply to large tickets or also to everyday small sales?

It applies mostly to small sales, which are the ones most often resolved through chat and a wallet instead of a formal online cart. The higher that volume, the larger the share of real results currently invisible to your campaign reporting.

Keep reading

Data & measurement 2 min read

Attribution models: why last click is lying to you

Last click gives all the credit to the channel that closes and none to the one that created the demand. What each model rewards and which one fits your decision.

All topics

×
Hi! 👋

How can we help you today?

Please write a message first.