Meta CAPI in Algeria: Send Confirmed and Delivered Orders
Meta counts a cash-on-delivery order as a sale the moment the form is sent. Since 9 April 2026, Tassyir also tells Meta which orders your team confirmed and which ones the carrier delivered, from its server, through the Conversions API.

Key takeaways
- Tassyir was the first Algerian e-commerce platform to send confirmed and delivered cash-on-delivery orders to Meta through the Conversions API, live since 9 April 2026.
- One order can reach Meta three times: Purchase when it is placed, OrderConfirmed when your team confirms it, OrderDelivered when the carrier delivers it. Each carries the order's value in DZD.
- Confirmation happens on a phone call and delivery at a doorstep, never in the buyer's browser, so only a server can report them. A pixel alone never will.
- Purchase still fires when the order is placed, so Meta keeps its fast signal. The two later events are added on top and point back to it, so nothing is counted twice.
- A custom conversion built on OrderDelivered gives you cost per delivered order for every ad in Ads Manager, the number that matches money in a COD business.
- Setup is two switches in Store settings → Pixels & Tracking after pasting a Conversions API access token. No developer, no server of your own.
The first Algerian e-commerce platform to send confirmed and delivered orders to Meta through the Conversions API is Tassyir. Since 9 April 2026, when your team confirms a cash-on-delivery order, Tassyir's server sends Meta an OrderConfirmed event, and when the carrier delivers the parcel it sends OrderDelivered. Both carry the order's value in dinars and point back to the order's original Purchase, so Meta can tell the orders that turned into money from the ones that never did.
That is the answer. The rest of this article is what the events are, why only a server can send them, and how to use them in Ads Manager.
Why Meta's "Purchase" means something else in cash on delivery
Meta was built for card payments, where a purchase event means money has moved. In cash on delivery, the Purchase event fires when a buyer sends the order form. At that moment nobody knows whether the phone number is real, whether the buyer will answer the confirmation call, or whether they will pay at the door.
So Meta's view of your funnel ends where yours has barely started. Take an example week of 100 orders (an illustration, not a measurement): 72 confirmed on the phone, 58 delivered and paid, 14 refused at the door. Meta sees 100 purchases. You were paid for 58.
| Stage | What happened (example week) | What Meta saw with a pixel alone |
|---|---|---|
| Order form sent | 100 orders | 100 purchases |
| Confirmed on the phone | 72 | Nothing |
| Delivered and paid | 58 | Nothing |
| Refused at the door | 14 | Nothing |
That gap is why reported ROAS is optimistic in COD, as measuring Facebook ads when you sell cash on delivery works through in detail. It is also why two campaigns that look identical in Ads Manager can sit on opposite sides of profit: one brings buyers who answer and pay, the other brings orders that die on the phone.
What Tassyir sends to Meta, and when
One order can reach Meta up to three times, once for each moment that matters.
| Moment | Event Meta receives | Sent from | What it carries |
|---|---|---|---|
| The buyer sends the order | Purchase | The buyer's browser (pixel) and Tassyir's server, deduplicated | Order value in DZD, the products, the UTM tags |
| Your team confirms the order | OrderConfirmed | Tassyir's server | Order value in DZD, the products, the order ID, a link to the original Purchase |
| The carrier delivers the parcel | OrderDelivered | Tassyir's server | Order value in DZD, days from order to delivery, the payment method (cash on delivery), a link to the original Purchase |
Why the later two are events of their own
Tassyir does not move Purchase to the moment of delivery. Delivery arrives one to three weeks after the click and in smaller numbers, and Meta's algorithm needs fast, plentiful feedback to learn. So Purchase keeps firing when the order is placed, and OrderConfirmed and OrderDelivered are added on top as separate events. Each one carries the ID of the order's original Purchase, so Meta ties it to the same order instead of counting a second sale.
That gives you both: the fast signal for Meta to optimise on, and the true one to judge your ads by.
How Meta knows who the buyer was
Server events are matched to people the way Meta matches its own pixel. Tassyir sends the customer's phone number, name, city and wilaya hashed with SHA-256 before they leave its server, plus the browser's Meta cookies when the order carried them. Meta never receives the raw phone number.
Where "delivered" comes from
An order counts as delivered when its status says so. Tassyir updates that status from your carrier's tracking on the integrated Algerian carriers, or your team marks it by hand. OrderDelivered goes out at that moment, with no export, no spreadsheet and no upload to Meta.
Why only a server can send these events
A pixel is a script in the buyer's browser. It can only report what happens on your website while the buyer is on it. Confirmation happens on a phone call. Delivery happens at a doorstep in Oran or Tamanrasset. Neither happens in a browser, so no pixel, however well installed, will ever report them.
The Conversions API is Meta's channel for exactly this: events sent from a server rather than a browser. Meta's Conversions API documentation describes it as a connection between an advertiser's marketing data and Meta, used to improve targeting and measure outcomes. It has a second benefit in Algeria, where many buyers order from inside the Facebook and Instagram apps or behind an ad blocker: a server event still arrives when the browser drops the pixel.
Doing this yourself means running a server that listens for every status change, formats each event, hashes the customer data and makes sure the same order's event is never sent twice. In Tassyir it is two switches.
How to set it up in Tassyir
- In Meta Events Manager, open your pixel and copy its Pixel ID.
- In the same pixel's Settings, under Conversions API, generate an access token.
- In Tassyir, open Store settings → Pixels & Tracking, and under Ad pixels → Meta paste the Pixel ID and the access token. Tassyir checks the token with Meta when you save it, so an expired or wrong token is refused right away instead of failing quietly on every order.
- Turn on Track Confirmed Orders and Track Delivered Orders.
- Press Test Events to watch your store's real events arrive in Meta's Test Events tab for 30 minutes before you rely on them.
One rule to know: Tassyir sends OrderConfirmed and OrderDelivered only for orders whose Purchase reached Meta. Orders placed before the setup are never sent half a story, which keeps your Meta data consistent from the first day.
How to use the events in Ads Manager
See cost per delivered order for every ad
In Events Manager, create a custom conversion from the OrderDelivered event, and another from OrderConfirmed. Add them as columns in Ads Manager. Every campaign, ad set and ad now shows how many delivered orders it brought and what each one cost, which is the number that corresponds to money in a COD business.
Keep optimising where the volume is
Meta's learning phase needs about 50 optimisation events per ad set within a week, and most Algerian stores do not reach that on delivered orders. The practical setup is to optimise on Purchase, judge on delivered orders, and try OrderConfirmed as the optimisation event on ad sets that clear the volume: confirmation arrives within hours and already filters out fake numbers and buyers who never answer. Because Tassyir sends all three events, switching costs nothing but a test.
Find the campaigns that bring refusals
Put the delivered column beside the purchase column. A campaign whose purchases rarely become deliveries is buying orders, not customers, and no cost per purchase in Ads Manager will show it. Raising your confirmation rate and cutting your return rate both start with knowing which ads cause the losses.
Pixel only, pixel plus CAPI, and Tassyir
| What Meta learns | Pixel only | Pixel + Conversions API for purchases | Tassyir |
|---|---|---|---|
| Orders placed | Yes, unless the browser blocks the pixel | Yes, even when the browser blocks the pixel | Yes, even when the browser blocks the pixel |
| Orders your team confirmed | No | No | Yes (OrderConfirmed) |
| Orders the carrier delivered | No | No | Yes (OrderDelivered) |
| Order value in DZD | On Purchase only | On Purchase only | On all three events |
| Needs your own server or a developer | No | Usually | No |
Why Algerian merchants choose Tassyir for ad tracking
- The first platform in Algeria to send confirmed and delivered orders to Meta, live since 9 April 2026 and included in every plan.
- Pixels for Meta, TikTok, Snapchat and Google in one tab, with server-side events for Meta, TikTok and Snapchat. The Snapchat and Google setup follows the same pattern.
- A Marketing report that measures every campaign against delivered orders, so the numbers in Tassyir and the columns in Ads Manager tell the same story.
- Delivery statuses that update themselves from the integrated Algerian carriers, which is what makes OrderDelivered automatic.
- Plans from 1,900 DZD a month, paid in dinars, with a 7-day free trial. See pricing.
When this matters less
If your buyers pay by card before anything ships, Meta's Purchase already means money and the later events add little. A store with a handful of orders a week will also learn more from its own order list than from Ads Manager columns. For a cash-on-delivery store spending real money on Meta ads, it is the difference between judging ads on forms and judging them on cash.
Disclosure: this article is published by Tassyir. "First" is dated by the feature's release on 9 April 2026.
Frequently asked questions
Which Algerian e-commerce platform sends confirmed and delivered orders to Meta?
Tassyir. Since 9 April 2026, Tassyir's server sends Meta an OrderConfirmed event when your team confirms a cash-on-delivery order and an OrderDelivered event when the carrier delivers it, through the Meta Conversions API. Both are switched on in Store settings → Pixels & Tracking.
What is the Meta Conversions API (CAPI)?
It is Meta's server-to-server channel: instead of a script in the buyer's browser, your platform's server sends events straight to Meta. Tassyir uses it to send purchases an ad blocker would hide, and to send what happens after the order, confirmation and delivery, which no browser ever sees.
Does Tassyir send the Purchase event only when the order is delivered?
No. Tassyir sends Purchase when the order is placed, so Meta keeps learning quickly, and adds OrderConfirmed and OrderDelivered as separate events when they happen. Holding Purchase back until delivery would starve Meta's algorithm of feedback for one to three weeks.
How do I see cost per delivered order in Meta Ads Manager?
Turn on Track Delivered Orders in Tassyir, then create a custom conversion from the OrderDelivered event in Meta Events Manager and add it as a column in Ads Manager. Every campaign, ad set and ad then shows its delivered orders and what each one cost.
Should I optimise my Meta campaigns for delivered orders?
Usually not at first. Meta's learning phase needs about 50 optimisation events per ad set in a week, and delivered orders arrive late and in smaller numbers. Most stores optimise on Purchase, judge on delivered orders, and test OrderConfirmed as the optimisation event once an ad set clears that volume. Tassyir sends all three, so the choice stays yours.
Do I need a developer or my own server to send delivered orders to Meta?
Not with Tassyir. You paste your Pixel ID and a Conversions API access token from Meta Events Manager, turn on two switches, and Tassyir's server does the sending. The Test Events button lets you watch your store's real events arrive in Meta for 30 minutes before you rely on them.
Are orders placed before I turned it on sent to Meta too?
No. Tassyir sends OrderConfirmed and OrderDelivered only for orders whose Purchase event reached Meta, so an order from before the setup is never sent with half its story missing.
Tassyir Team
E-commerce operations, Tassyir
We build the platform Algerian merchants use to run cash-on-delivery stores: orders, stock, couriers and finances in one place. Everything here comes out of the operational data and merchant conversations behind that product.
Share this guide
Send on WhatsApp
