Product Messages: WhatsApp Native Commerce

A native conversational commerce experience on WhatsApp.

What is

✅ Showcase one or more products within the native WhatsApp experience.
✅ Enable the creation of a shopping cart directly on WhatsApp and seamlessly send the details.

What is not

❌ Presentation of the entire product catalog on WhatsApp.
❌ Checkout experience directly on WhatsApp without additional connections.
❌ Detailed personalization (e.g., pizza, clothing, and shoes).

What are the benefits

Say goodbye to static images and texts. Product Messages on WhatsApp revolutionize commerce by offering dynamic, interactive product experiences, outperforming traditional methods and providing a streamlined path from discovery to purchase.

Use cases

🛍️ Launching a campaign featuring strategic products (promotions, higher margins, and more).
🛍️ When a user seeks more information about a product (e.g. user wants to know more about a soda, chocolate, or auto insurance), present it using product messages.

How it works

How is implemented


Check how to integrate with Yalo Commerce and generate orders automatically at the end of the document

Business requirements

✅ Phone number connected with WABA account.
✅ Business catalog connected and updated in Facebook Business Manager.

Restrictions and limitations

❌ Inability to present items such as medications, knives, and alcoholic beverages.
❌ Inability to send product messages in notifications.
❌ Inability to present different prices for the same product (sku).
❗You can create different SKUs and present it according to store tier.

Is it the same as direct catalog?

No, let's discuss the differences between product messages and direct catalog.

Product Messages

  • This use Legacy Facebook Commerce Manager catalog
  • User completes orders within Whatsapp and a Yalo Commerce cart is prefilled
  • Trigger by a Notification or Flow
  • Limited list of product
  • Mainly use for advertisement of promotions or discounts
  • Alternative to One-Click buying
  • Currently only one price per product

Direct Catalog

  • Facebook catalog calls are replace with Yalo Commerce catalog
  • User completes orders within Whatsapp and a Yalo Commerce cart is prefilled
  • Trigger by Notification, flow or clicking on catalo/store icon if not authentication required
  • Full catalog
  • Product recommendation integrated
  • New channel for order taking
  • Differentiated pricing per store


There's no pricing defined in the Product. Implementation cost should be applied according delivery implementation.

Powerful use cases with Flow Builder

  1. Present different products according to the customer information using an API or Lua Code.
    1. For users with {{profile.minimumOrder}} > 100, show products ABC, for all other users, show products XYZ.
    2. Create an API recommendation that returns the product_ids with the best products everyday and use the same API in all your notifications.
  2. Present different collections with a better product mix. E.g.: Candies, Gum, Biscuits
  3. Use the same SKU in your Commerce Manager and Facebook Catalog and generate a Commerce Order

Requirements for implementation

Access to client:

  • Facebook Business Manager
  • Yalo Customer Account
  • Flow Builder

Frequently asked questions

  1. How to request access to Facebook Business Account?
    1. Raise a ticket to Yalo It Team related to Accounts, Accesses and Permissions.
  2. How can I feed the products in Facebook Catalog?
    1. You can add it manually, send a file like a csv or even make it updatable. Look into these two documentations: Managing your Catalog and Update your Catalog
  3. How can I see the users who received the product message?
    1. Product Message template is imported with Track Events. We have three events:
      1. Product Message Printed: The user arrives at the step that display the product message.
      2. Product Message Abandoned: The user received the product message, but didn't finished the order process in the native experience. Technically speaking, the variable userOrderCatalog is empty.
      3. Product Message Success. The user completed the order process in the native experience. Technically speaking, the variables userOrderCatalog and userOrderProducts are not empty. This doesn't necessarily mean an order, it depends about the flow and client process (e.g.: authentication, payment, delivery date and more).

With Commerce Integration (generating orders in Commerce Manager)

Important for Commerce Integration:

  1. The SKUs from Facebook Catalog (product_id) need to match with Commerce Manager
Facebook Catalog

Facebook Catalog

Commerce Manager

Commerce Manager

  1. You need to create the following global variables: orderProcessingStep, commercename , seCurrencyLocale and seCurrencyCode
    1. orderProcessingStep Needs to be the number of the step [START] Commerce Setup. This variable works with an inside logic in Commerce Engine identifying an “order message” and transitioning the user to the processing step. If you already use this logic in other activity (e.g.: direct catalog) look this page. This is massive important in case the user dont interact with the product message in the first time, but interact later.
    2. commercename Its your commerce name, find this information in your commerce manager (e.g.: toyota_mx, femsa_br).
    3. seCurrencyLocale Its related to “from where” your currency is, use to format currency, check this list (e.g.: es-MX, pt-BR, es-GT). Take care about upper and lowercases.
    4. seCurrencyCode  Its the code from the currency you are using, use for format currency, check this list. (e.g.: MXP, BRL, USD, GTQ)


It's pending the automatic creation of the Global Variables when the template is imported

Useful links

Yalo Demo ES Flow in Yalo Studio (INTERNAL ONLY)
Product Messages by Meta
Multi Product Messages by Meta