Analytics • 4 min read•Updated

Meta Conversions API (CAPI) Setup in Saudi Arabia (2026): Phone Matching, Salla, Zid and WhatsApp

Meta Conversions API setup for Saudi Arabia: format and hash Saudi mobile numbers, check Salla and Zid integrations, track WhatsApp leads, and test it.

Meta Conversions API (CAPI) Setup in Saudi Arabia (2026): Phone Matching, Salla, Zid and WhatsApp. Big AL Consulting, Saudi Arabia performance marketing agency.
Meta Conversions API (CAPI) Setup in Saudi Arabia (2026): Phone Matching, Salla, Zid and WhatsApp. Big AL Consulting, Saudi Arabia performance marketing agency.
Share:
Published •Reviewed

The Meta Conversions API sends your sales and leads to Meta from your server, alongside the pixel that fires in the shopper's browser. Browsers block a share of pixel events through privacy settings, ad blockers and short cookie lives. The server copy fills that gap, and a shared event id stops Meta counting the same order twice.

That much is true in any country. This guide covers the parts specific to Saudi Arabia: the mobile number as the main match key, the store platforms many Saudi brands use, and the WhatsApp conversations where many Saudi leads actually happen.

Why the mobile number is the key in Saudi Arabia

Meta can only learn from a conversion it can link to a real person. It does that by comparing hashed details you send, such as email, phone, name and city, with its own users.

Many Saudi stores ask for a mobile number at checkout and confirm orders on WhatsApp, while email is often optional. So the phone number is frequently the one detail you hold for every customer. Sent correctly through CAPI, it gives Meta its best chance of matching the order to the person who saw the ad.

Formatting Saudi numbers before hashing

A common cause of weak match quality is a phone number hashed in the wrong format. A hash that differs by one character from Meta's own record will not match. Before hashing:

  • Use the full international format with the Saudi country code.
  • Drop the leading zero that local numbers carry.
  • Remove spaces, plus signs and brackets, and convert any Arabic digits to standard digits.
  • Apply the same rule in the browser and on the server, so both copies of an event match.

Do the same for email: trim spaces and use lowercase before hashing. Add city and the fbc and fbp values where you have them.

Salla and Zid: what to check after you switch it on

Both platforms offer a Meta connection, and it is the right starting point. It is not the finish line. After you turn it on:

  1. Deduplication. Place a test order and confirm Events Manager shows the browser and server purchase as one event.

  2. Value and currency. The value should be the order total as a number, with currency SAR.

  3. Which moment counts. Decide whether a purchase fires when the order is placed or when it is paid. For cash on delivery orders the difference matters, so be clear which one you are optimising toward.

  4. The phone number. Confirm it reaches Meta formatted as above, not as the customer typed it.

Custom stores need a server container in Tag Manager, or a direct integration that fires from order webhooks with the same checks.

WhatsApp and lead forms

For clinics, property, education and other lead businesses, the conversation often starts in WhatsApp. A tap on the WhatsApp button is not a lead. Send a Lead event from your server when your team marks the chat as a real enquiry, with the hashed phone number from that chat, and send a second event when it becomes a sale. Meta then learns from people who talk to you and buy, not from people who only tap.

Ad accounts in USD, events in SAR

Not every Saudi brand bills Meta in riyals. Some of the Saudi accounts we manage bill their Meta ad account in USD, and our Meta ads page for Riyadh covers how we run those accounts. That does not change the setup. Send conversion values in SAR, the currency your store uses, so revenue in Meta matches revenue in your store.

Reading Event Match Quality

Events Manager gives each event a match quality score. Treat a weak score as a setup fault, not a fact of life. In Saudi accounts the first thing to check is the phone number: missing on server events, hashed with spaces still in it, or sent without the country code. Fix the format and the score usually follows.

Proving the setup works

  • Use Test Events to watch a real order arrive from browser and server, merged into one.
  • Confirm value, currency SAR and a hashed phone number are present.
  • Compare a day of real orders or qualified chats with what Meta reports.
  • Repeat after any store theme, app or checkout change.

CAPI is one layer of a wider build. Our guide to conversion tracking setup in Saudi Arabia covers Google, Snapchat and TikTok alongside it. If you want your Meta tracking checked, talk to us.

Frequently asked questions

Does CAPI replace the Meta pixel?

No. Run both. The pixel captures what happens in the browser, the Conversions API sends a server copy that browsers cannot block, and a shared event id lets Meta merge the two into one event instead of counting the order twice.

Why does the phone number matter so much in Saudi Arabia?

Many Saudi stores collect a mobile number at checkout and confirm orders on WhatsApp, while email is often optional. That makes the phone number the detail you hold for most customers, and the strongest match key you can send through CAPI.

How do I format Saudi phone numbers for CAPI?

Use the international format with the Saudi country code, drop the local leading zero, remove spaces and symbols, convert any Arabic digits to standard digits, then hash. Apply exactly the same rule in the browser and on the server.

Is the Salla or Zid Meta integration enough on its own?

It is a good start. You still need to confirm one purchase per order after deduplication, a numeric value in SAR, a properly formatted phone number, and a clear choice between counting placed orders and paid orders.

Sources & References

Official references used in this article.

FAQ

Frequently Asked Questions

Q. Does CAPI replace the Meta pixel?

No. Run both. The pixel captures what happens in the browser, the Conversions API sends a server copy that browsers cannot block, and a shared event id lets Meta merge the two into one event instead of counting the order twice.

Q. Why does the phone number matter so much in Saudi Arabia?

Many Saudi stores collect a mobile number at checkout and confirm orders on WhatsApp, while email is often optional. That makes the phone number the detail you hold for most customers, and the strongest match key you can send through CAPI.

Q. How do I format Saudi phone numbers for CAPI?

Use the international format with the Saudi country code, drop the local leading zero, remove spaces and symbols, convert any Arabic digits to standard digits, then hash. Apply exactly the same rule in the browser and on the server.

Q. Is the Salla or Zid Meta integration enough on its own?

It is a good start. You still need to confirm one purchase per order after deduplication, a numeric value in SAR, a properly formatted phone number, and a clear choice between counting placed orders and paid orders.

About the author

Big AL Consulting

Big AL Consulting is a performance marketing agency in Dubai and a Google Partner since 2021. We run paid media across Google, Meta, Snapchat, TikTok, LinkedIn and ChatGPT ads for brands in the UAE, Saudi Arabia and Kuwait, and have managed $25M+ in ad spend.

Written by Ahmad Alshareefi, Founder

How we make our guides: we use AI tools to help draft, and build each guide on our own campaign experience in the UAE and Saudi Arabia and on the ad platforms' official documentation.

For UAE businesses

Want to talk through your Google Ads or Meta Ads account?

Book a 30-minute call. We go over your account with you and point out the 3 biggest leaks.

Google Partner · UAE & KSA · Arabic + English

More questions

Why does a Saudi store need the same event id on the browser pixel and the CAPI server event?

A shared event id is what lets Meta merge the pixel event and the server event into a single purchase instead of recording the order twice. Without it, a Saudi store sending both copies would inflate its reported sales and train the algorithm on duplicated data. The practical check is simple: place a test order on your Salla, Zid or custom store and open Events Manager, where the browser and server purchase should appear merged as one event. If two separate purchases show, the ids are missing or differ between the two copies.

Should a Salla or Zid store fire the Meta purchase event when an order is placed or when it is paid?

Either moment can work, but you must pick one deliberately and optimise toward it. The choice matters most for cash on delivery orders, which are common in Saudi Arabia, because an order placed is not yet an order paid. If you send the purchase at placement, Meta learns from every checkout including ones that are never collected. If you send it at payment, the signal is cleaner but arrives later. Decide which outcome you actually want more of, apply that rule consistently across the Salla or Zid integration and any server events, and keep the value as a plain number in SAR.