Server-side tracking · built in Bangladesh

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

Simulated traffic · real routing logic
BrowserChromeiPhoneSafari · ITPStore servernew order✕ facebook.com/trYOUR DOMAINtrack.shop.com.bdTRAKEROValidateHash PIIDedupMeta CAPI✓ 0 deliveredGoogle Analytics✓ 0 delivered
0
merged
0
pixel blocked
01 · The problem

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.

yourstore.com/checkout/thanksuBlock Origin · 3 requests bloOrder #10231Red dress × 2 · ৳2,580✓ confirmed · CODPlace order123456789🍪_fbc · 7-day cap✕ tab closed🖥️Your store's serverorder.status → paid✕ad blockerTrakeromerge · hash · dedupMeta · via PixelblockedMeta · via CAPI202 · delivered once

A shopper from your Facebook ad places an order.

✕ Browser Pixel: blocked✓ Trakero: delivered once

Illustration of what happens on shoppers' devices, not a measurement.

Browser Pixel only

✕ Blocked in the browser
checkout
meta
✕
✕
✕
✕
✕
✕
✕
✕

The 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, matchable
checkout
meta
✓
✓
✓
✓
✓
✓
✓
✓

The 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.

02 · Deduplication

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.

1
Layer 1 · Ingestion
Exact replay from the same source within 48h → dropped before it is queued.
2
Layer 2 · Order ledger
First copy creates the logical event. Later copies from other sources become receipts on it.
3
Layer 3 · Meta
One delivery, event_id purchase_10023. Meta dedups on it too.
Event inspectororder #10023 · ৳2,580

Send a copy to begin.

03 · Privacy and match quality

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.

  1. Bengali digits converted01712345678
  2. Digits01712345678
  3. With country code8801712345678
Meta sends8801712345678
–
Google sends+8801712345678
–
–
Google sends[email protected]
–
What Trakero stores

{ "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.

04 · The debugger

“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.

🔎 10231
Example
purchase · ৳3,120
browser ✓server ✓deduplicated
event_id
purchase_10231
identity
em · ph · fbp · fbc
payment
cod
consent
ads granted
✓ GA4 · delivered184 ms
⏸ Meta CAPI · blockedattempt 1 · HTTP 400

Meta rejected this event because the access token is invalid or expired.

→ Reconnect Meta in Destinations → Meta → Credentials. Waiting events resume automatically.

05 · Setup

Live in an afternoon

Four steps. The dashboard checks each one for you, against real data.

  1. 11 min

    Create your store

    Instant: you get a publishable and a secret key.

  2. 25 min

    Point a subdomain

    One CNAME for track.yourstore.com. The dashboard verifies it with a real DNS lookup.

  3. 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.

  4. 42 min

    Add the snippet, send a test

    Press “Send test event” and watch it land in Meta's Test Events.

Events come from

  • Any website
    4.5 KB JavaScript SDK, served from your own domain
    live
  • Server API
    POST /v1/events with a secret key, from any backend
    live
  • WooCommerce
    Plugin: server-side purchase from the order lifecycle, COD-aware
    live
  • Node.js / Next.js SDK
    Typed server SDK with browser attribution from cookies
    live
  • Google Tag Manager
    Reads GA4 ecommerce events from the dataLayer
    live
  • PHP / Laravel SDK
    PHP 7.4+ server SDK, COD order lifecycle
    live
  • Shopify
    App: order webhooks + Web Pixel (beta until the Shopify App Store listing)
    beta

Events go to

  • Meta Conversions API
    Graph v26.0, event_id dedup with your Pixel
    live
  • Google Analytics 4
    Measurement Protocol, user-provided data, session stitching
    live
  • TikTok Events API
    Events API 2.0, ttclid + _ttp matching, dedup with your TikTok Pixel
    live
  • Snapchat Conversions API
    CAPI v3, ScCid + _scid matching, dedup with your Snap Pixel
    live
  • Pinterest Conversions API
    v5 events, _epik click id, dedup with your Pinterest Tag
    live
  • Browser pixels
    Meta (Facebook + Instagram), TikTok, Pinterest, Snap, LinkedIn, X and Microsoft Clarity from one snippet
    live
  • LinkedIn Conversions API
    Conversion rules, li_fat_id + hashed email, dedup with the Insight Tag
    live
  • X Conversion API
    twclid + hashed email/phone, conversion_id dedup with the X Pixel
    live
  • Google Ads
    Data Manager API: gclid / gbraid / wbraid and hashed email, phone and address. No developer token
    live
  • Webhooks
    HMAC-signed, SSRF-guarded
    Soon
Made for how Bangladesh sells

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.

Compare

What changes when tracking runs on your server

CapabilityBrowser Pixel onlyGeneric server containerTrakero
Purchase arrives with an ad blockerNoYesYes, and straight from the order
Browser + server dedup—You configure itAutomatic, by order id
Bangladeshi phone normalizationNoYou write itBuilt in, Bengali digits too
Why didn't this event arrive?NoDig through logsPlain-language reason + fix
When a token is revokedEvents lostEvents lostEvents wait, then send
What setup needsA scriptGTM server skills + hostingOne snippet + one CNAME
PriceFreeHosting + USD subscriptionTaka, bKash/Nagad
Pricing

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.

৳0/month
  • 25K events / month
  • 7-day event history
  • 1 store
Start free

Starter

For a growing Facebook-first shop.

৳990/month
  • 500K events / month
  • 30-day event history
  • 1 store
Choose
Most stores

Growth

For brands spending seriously on Meta ads.

৳2,490/month
  • 2M events / month
  • 90-day event history
  • 3 stores
Choose

Scale

For agencies and multi-brand groups.

৳5,990/month
  • 6M events / month
  • 180-day event history
  • 10 stores
Choose

Pay with bKash, Nagad, Visa / Mastercard, Bank transfer. Billing for paid plans opens at launch. Start on Free today.

FAQ

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 →