Every order.Counted once.Sent to Meta.
Trakero moves your tracking onto your own domain and your server, so ad blockers, iOS Safari and closed tabs stop eating your conversions. Meta, TikTok, GA4, Snapchat and Pinterest get each purchase exactly once, with the customer data they need to match it.
No card needed · works with COD, bKash and Nagad checkouts
Your pixel is not seeing every sale
Pick what your shopper's browser is doing. Watch where the browser Pixel's purchase goes, and where Trakero's does.
A shopper from your Facebook ad places an order.
Illustration of what happens on shoppers' devices, not a measurement.
Browser Pixel only
✕ Blocked in the browserThe blocker's filter list matches connect.facebook.net and facebook.com/tr. The Pixel script never loads, so the purchase never leaves the browser.
With Trakero
✓ Reached Meta, matchableThe SDK and events go to track.yourstore.com, your own subdomain. Your store's server also sends the order directly, and no browser extension sits on that path.
Simulation. It shows the mechanism, not a measured rate.
Browser and server both saw the order. Meta counts it once.
The order is authoritative. Every copy (browser, server, retry, webhook redelivery) resolves to one logical event, keyed by the order id. That same event_id is sent to Meta, so even Meta's side can't double count.
Send a copy to begin.
Type a Bangladeshi number the way customers do
Bengali digits, a trunk 0, dashes, +880. Trakero normalizes it the way Meta and Google each specify, then SHA-256 hashes it before it is stored anywhere. This demo runs the real rules in your browser. Nothing is sent.
- Bengali digits converted01712345678
- Digits01712345678
- With country code8801712345678
{ "em": "–", "ph_digits": "–", "ph_e164": "–" }
Hashes are computed with the Web Crypto API in this tab. Try the same number in different formats: the hash does not change.
“Why didn't this order reach Meta?” Answered in one click.
Search an order number. See every copy that arrived, every destination, every attempt, and the exact reason in plain language, with the action that fixes it.
- event_id
- purchase_10231
- identity
- em · ph · fbp · fbc
- payment
- cod
- consent
- ads granted
Meta rejected this event because the access token is invalid or expired.
→ Reconnect Meta in Destinations → Meta → Credentials. Waiting events resume automatically.
Live in an afternoon
Four steps. The dashboard checks each one for you, against real data.
- 11 min
Create your store
Instant: you get a publishable and a secret key.
- 25 min
Point a subdomain
One CNAME for track.yourstore.com. The dashboard verifies it with a real DNS lookup.
- 35 min
Connect your ad platforms
Meta, TikTok, GA4, Snapchat, Pinterest: paste the pixel id and token. Tokens are encrypted and can never be read back.
- 42 min
Add the snippet, send a test
Press “Send test event” and watch it land in Meta's Test Events.
Events come from
- liveAny website4.5 KB JavaScript SDK, served from your own domain
- liveServer APIPOST /v1/events with a secret key, from any backend
- liveWooCommercePlugin: server-side purchase from the order lifecycle, COD-aware
- liveNode.js / Next.js SDKTyped server SDK with browser attribution from cookies
- liveGoogle Tag ManagerReads GA4 ecommerce events from the dataLayer
- livePHP / Laravel SDKPHP 7.4+ server SDK, COD order lifecycle
- betaShopifyApp: order webhooks + Web Pixel (beta until the Shopify App Store listing)
Events go to
- liveMeta Conversions APIGraph v26.0, event_id dedup with your Pixel
- liveGoogle Analytics 4Measurement Protocol, user-provided data, session stitching
- liveTikTok Events APIEvents API 2.0, ttclid + _ttp matching, dedup with your TikTok Pixel
- liveSnapchat Conversions APICAPI v3, ScCid + _scid matching, dedup with your Snap Pixel
- livePinterest Conversions APIv5 events, _epik click id, dedup with your Pinterest Tag
- liveBrowser pixelsMeta (Facebook + Instagram), TikTok, Pinterest, Snap, LinkedIn, X and Microsoft Clarity from one snippet
- liveLinkedIn Conversions APIConversion rules, li_fat_id + hashed email, dedup with the Insight Tag
- liveX Conversion APItwclid + hashed email/phone, conversion_id dedup with the X Pixel
- liveGoogle AdsData Manager API: gclid / gbraid / wbraid and hashed email, phone and address. No developer token
- SoonWebhooksHMAC-signed, SSRF-guarded
COD, bKash, Nagad. +880. বাংলা.
Cash on delivery
Decide when a purchase counts: placed, confirmed or delivered. The order id guarantees it counts once.
bKash and Nagad
payment_method travels with every purchase, so you can see which ads bring prepaid orders and which bring COD.
+880 phone numbers
Bengali digits, trunk zeros and dashes are normalized. In Bangladesh the phone number is the strongest match signal Meta gets.
Reports in ৳
Revenue in BDT, days in Asia/Dhaka.
What changes when tracking runs on your server
| Capability | Browser Pixel only | Generic server container | Trakero |
|---|---|---|---|
| Purchase arrives with an ad blocker | No | Yes | Yes, and straight from the order |
| Browser + server dedup | — | You configure it | Automatic, by order id |
| Bangladeshi phone normalization | No | You write it | Built in, Bengali digits too |
| Why didn't this event arrive? | No | Dig through logs | Plain-language reason + fix |
| When a token is revoked | Events lost | Events lost | Events wait, then send |
| What setup needs | A script | GTM server skills + hosting | One snippet + one CNAME |
| Price | Free | Hosting + USD subscription | Taka, bKash/Nagad |
Priced for your market. Every feature on every plan.
Plans differ only by monthly events and history. Duplicates we drop are never billed.
Plans
Free
Prove it on your store. No card needed.
- 25K events / month
- 7-day event history
- 1 store
Starter
For a growing Facebook-first shop.
- 500K events / month
- 30-day event history
- 1 store
Growth
For brands spending seriously on Meta ads.
- 2M events / month
- 90-day event history
- 3 stores
Scale
For agencies and multi-brand groups.
- 6M events / month
- 180-day event history
- 10 stores
Pay with bKash, Nagad, Visa / Mastercard, Bank transfer. Billing for paid plans opens at launch. Start on Free today.
Straight answers
Do I remove my Meta Pixel?+
No. Keep the Pixel and add Trakero. Both send the same event_id, so Meta keeps one copy and fills gaps from the other. Match quality goes up and nothing is double counted.
Does this get around consent or ad blockers' purpose?+
Trakero respects consent: when a shopper denies ads consent, no ad cookies are set and no event is sent to ad platforms. It moves measurement onto your own domain and server, which is how Meta and Google recommend sending conversions. It is not designed to evade privacy choices.
Is my customers' data safe?+
Email, phone, name and address are normalized and SHA-256 hashed inside our ingestion service before anything is queued or stored. Raw values never reach our database or logs. Destination tokens are encrypted with AES-256-GCM and can never be read back, even by us in the dashboard.
What happens if Meta is down?+
Your store keeps sending and we keep accepting. Deliveries retry with backoff for about six hours. If your Meta token expires, sending pauses and the events wait. They do not burn their retries. Reconnect, and they go out.
We are cash on delivery. When is a purchase a purchase?+
You decide. Send the purchase when the order is placed, confirmed or delivered. The order id makes it count once whichever moment you choose, and a later refund or cancel is linked to the same order.
Which platforms work today?+
WooCommerce through our plugin, any website through the JavaScript SDK, any backend through the server API, and delivery to Meta Conversions API, Google Analytics 4 and TikTok Events API. The Shopify app and more ad platforms are in progress and marked 'coming soon' until they ship.
Stop guessing which ads sell.
Connect your store, send a test order, and watch it arrive in Meta Events Manager. It takes one afternoon.
Create your free account →