Meta Conversions API for IdoSell, without a developer
You switched on the Pixel or a Meta integration in the shop and still do not know how many purchases actually reach Meta. Basketly reads the IdoSell orders through an API key and sends paid purchases to Meta server-side. It also shows which arrived and which did not.
The demo has sample data; the login comes to your e-mail.
What happens to a purchase in the browser
The Pixel is a script in the buyer’s browser. It sends a purchase only when the buyer returns to the thank-you page, accepts cookies and runs no ad blocker. After a bank payment some buyers close the tab, and reloading the thank-you page can send the same purchase twice. A purchase taken from the shop’s order depends on none of that.
What Basketly does on IdoSell
You give the shop address and an Admin API key. The app does the rest, and you see every purchase and where it went.
- Saving the key checks it with an order search (and a product search; a refused product search only warns), then queues the read of orders, 24 months of history and products.
- IdoSell gives Basketly no webhook to register, so the 15-minute read is the only way in. Orders changed since the last read come back with lines, buyer, total and shipping.
- A bought, not cancelled order becomes a purchase: value, currency, products from the lines (by the chosen field), e-mail, phone and customer id. E-mail and phone are hashed before sending.
- Every purchase is saved first and then sent with retries. When Meta has an outage, the purchase waits instead of getting lost.
- IdoSell products land on the Products screen with a diagnosis for Google Merchant Center and the Meta catalogue, and from there in a fixed feed.
- IdoSell’s rate limit is respected: after a refusal the read returns to the queue after the time in the answer, or after a minute.
Connect IdoSell in 4 steps
It takes a few minutes. You need no developer and no server access.
Create an Admin API key in IdoSell
In the IdoSell admin open Administracja → API → Klucze dostępowe do API Admin and create a key. Copy it right away, because it is not shown again in Basketly.
Connect the shop in the app
In Basketly open Integrations, choose the IdoSell tile and enter a name, the shop address and the key. Tick the cash-on-delivery statuses and the product id field, and confirm the legal basis for passing the data.
Connect Meta
Sign in with your Meta account, choose the dataset (Pixel) and keep the purchase flow from the shop to Meta. The getting-started checklist in the app shows what is still missing.
Check the first purchase
Click “Fetch now”, send a Test event with the code from Events Manager and, after the first orders, open the purchase balance.
Cash on delivery and statuses
IdoSell has 17 standard order statuses and Basketly knows their Polish names. An order with a confirmed payment is bought at once. With cash on delivery the payment is confirmed only after pickup, so when connecting you tick the statuses that count as bought (for example “Zrealizowane”). An order cancelled by the customer, false, lost, missing or merged never becomes a purchase. Keep Meta’s limit in mind: a purchase older than 7 days is not accepted.
Which product id reaches the catalogue
Catalogue ads match a purchase to a product by its id. By default that is the IdoSell product id. If your Meta catalogue uses another field, pick the product size, the code or the external code. The id in the purchase must match the catalogue, or Meta cannot tie the purchase to the product.
How to check that it works
- Test event: one click sends the newest shop purchase with the test code from Events Manager, and you see it under Test Events.
- Purchase balance: shop orders next to purchases Meta accepted, day by day, with the most common error reasons.
- Self-check: compares the dataset’s statistics in Meta with what was actually sent, and says what to fix.
- Orders: each order shows whether its purchase was accepted, failed or is waiting.
What it does not do
- It does not fix or replace the Pixel in the browser: events such as product views or add to cart stay on the shop side. It is a second, independent path for purchases.
- An order read from the API carries no browser data. Without the Basketly script in the shop and the buyer’s consent Meta gets no ad click id, so matching the purchase to an ad can be weaker.
- Reading every 15 minutes means a delay. A purchase reaches Meta after the next read, not a second after payment.
- It does not make Meta’s numbers equal the shop’s: Meta counts purchases by its attribution windows. Both numbers are shown side by side.
- It does not send a purchase older than 7 days and does not work without the shop’s confirmed legal basis.
No. Whatever the built-in integration does stays on the shop side, and Basketly adds the purchase from the order as a second path. If both send the same purchase, Meta counts it once only when they carry the same event id. The server sends idosell-order-<order serial>, so after connecting check in Events Manager that purchases are not doubled.
No. You need an Admin API key. Basketly reads the orders by itself every 15 minutes.
The first read goes 7 days back, because Meta does not accept older purchases. 24 months of history are read once into Orders and Clients but never sent to Meta.
Yes, once you tick the statuses that count as bought. The purchase goes after the status change, as long as the order is not older than 7 days.
The free plan covers up to 100 orders a month, with no card and no time limit. The limit counts orders, not sends to platforms. Other plans are on the pricing page.
See also
- Meta Conversions APIPaid shop orders sent to Meta from the server, through a queue that does not drop purchases, with a result for every delivery.Read
- IntegrationsShop, ads, product catalogues, analytics and marketing in one catalogue, each integration’s state counted from what is actually connected.Read
- Self-checkOne check of your whole setup: the shop, purchases sent to Meta, logins, background jobs and automations, with a link to the fix for every problem.Read
- Basketly vs StapeStape (server-side GTM, CAPI Gateway) next to Basketly (purchases from shop orders): a table, Stape's prices from its own page with the date, when to pick which.Read
- Conversions API (CAPI)Sending events, such as purchases, to Meta from the shop’s server instead of the buyer’s browser.Read
- Shop integrations: where to start so orders, ads and the catalogue work togetherWhat to connect first in a Shoper shop: the Shoper API, Meta login and receiver, the purchase flow, the consent script, feeds, then other platforms. States and limits.Read
- Purchase balance: how to check that shop orders really reach Meta and other platformsHow to read the day-by-day purchase balance: shop orders, purchases Basketly accepted and sends to Meta and other platforms. What each gap means and what to check.Read
Get started in under 5 minutes
Connect your shop and Meta and see how many purchases really arrive.
- Free up to 100 orders a month
- No developer needed
- Purchase balance and self-check