Website orders, campaigns and Meta
Orders from your website carry the customer's details, what they bought, what they paid — and where they came from, tracked automatically by the script tag and reported to Meta.
বাংলায়: আপনার ওয়েবসাইট থেকে আসা প্রতিটি অর্ডারে গ্রাহকের নাম, ঠিকানা, কী কিনেছে এবং কোথা থেকে এসেছে (Facebook বিজ্ঞাপন, লিঙ্ক) সবকিছু থাকে। Meta জানতে পারে কে কেনাকাটা করেছে এবং কোন ক্যাম্পেইন থেকে এসেছে।
When your website sends an order to Omnikyo, the order arrives with data from three sources: the order itself (what the customer bought), the customer (name, address, phone), and the campaign (where they came from, tracked by the script tag). Meta also receives a Purchase event with hashed customer data.
What lands on an order from your website
An order from your website has these fields filled in automatically:
| Field | Source | Example |
|---|---|---|
| Source | Always "Website" | Shows as the order source badge |
| Status | Order body (total > 0 and stock available) or stock shortage | New, Confirmed (if paid ≥ total), or Hold (low stock) |
| Payment method | Order body (payment_method) | COD, Bkash, Bank, Online |
| Paid amount | Order body (paid_amount) or inferred | 0 for COD; the amount sent for online methods |
| Customer | Matched by phone or created | Name, address, city, email — existing customer's details are overwritten |
| UTM tags | Cookie (from the script tag) | utm_source, utm_medium, utm_campaign, utm_term, utm_content |
| Click IDs | Cookie (from the script tag) | fbclid, gclid, other ad platform click ids |
| Marketing channel | Derived from UTM + click id + referrer | Direct, Search, From ads, Social, Email, Referral, etc. (see Order attribution) |
Example: a customer clicks a Facebook ad
- Customer clicks your Facebook ad (has
fbclidin the URL). - Browser lands on your site, the connect.js script saves
fbclidandutm_sourceto the_okyocookie. - Customer fills out the checkout and places an order. The form posts
name,phone,address, items, total. - Your server calls
Omnikyo::sendOrder(), which adds the_okyocookie value astracking. - The order arrives in Omnikyo with:
- Source: Website
- Customer: matched by phone (or created new)
- Payment: as sent (COD, Bkash, etc.)
- Marketing channel: From ads (derived from fbclid)
- Attribution row: fbclid, utm_source, and other campaign data (visible in Orders › order › Source › Attribution popover)
Customer overwrite
Every order from your website that has the customer's phone overwrites that customer's name, address, city and email in Omnikyo. This keeps details in sync with your site. If a customer's address changes on your website and they order again, their Omnikyo address updates. If you edit a customer in Omnikyo but then they order on your site, the site's version wins.
Where attribution comes from
Campaign data travels in the _okyo cookie saved by the script tag.
When a customer first lands on your site from a link or ad, the script tag reads the URL and saves:
- UTM parameters (
utm_source,utm_medium,utm_campaign,utm_term,utm_content) - Ad click IDs (
fbclidfrom Facebook,gclidfrom Google,ttclidfrom TikTok, etc.) - The landing URL and referrer
This cookie is kept for 30 days. If the customer returns and orders later, the order still carries the original campaign data (even days later).
The rule is last campaign touch: a return visit with a new campaign (new UTM tags or click id) replaces what is stored; a plain return visit keeps the original.
If a customer's order has no cookie (cookies disabled, logged out, different device), the order has no campaign data. Orders can still have campaign data from the order API itself (if your checkout sends utm_source as a URL parameter, the server can extract it and add it to the order body).
What Meta sees
When an order is created, Omnikyo sends a Purchase event to Meta (the Conversions API). The event includes:
| Field | Value | Notes |
|---|---|---|
| Event name | Purchase | |
| Event ID | Purchase_#1042_created | Deterministic, same for browser + server (deduplication) |
| Value | Order total (items + delivery − discount) | In BDT |
| Currency | BDT | |
| Contents | Each product with id, name, quantity, unit price | Omnikyo's product ids, not SKUs |
| Items count | Number of line items | |
| Order ID | Order's display id (#1042) | |
| Customer data (hashed) | Email, phone, first name, last name, city | SHA-256, lowercase, trimmed. Phone hashed as digits only (880 prefix removed, e.g. 1712345678). Not sent: country, state, zip, gender, DOB |
| User data | Visitor IP, user agent | From the helper's client field |
| Cookies | fbc, fbp | From the helper's tracking field |
| Source URL | The checkout page's referrer | From the helper's page_url |
When the Purchase is sent
- COD orders: sent immediately when the order is created, with the visitor's IP, user agent, and campaign cookies.
- Bkash orders: sent only after payment completes, without IP/user agent/cookies (the helper cannot reach that event). The hashed customer data is still sent.
Why visits do not appear in Storefront Analytics
Storefront Analytics shows visits to your Omnikyo store only. Visits to your own website are not tracked in Storefront Analytics, even though they send tracking events to the /api/connect/events endpoint. Only orders from your website appear in the orders reports.
To see traffic to your website, use your own analytics (Google Analytics, Plausible, etc.).
Other ways people ask this
- website order source কী থাকে
- website থেকে order attribution
- meta purchase event website
- campaign data নিজের website থেকে আসে কোথা থেকে
- facebook click id কি save হয় order এ
- website order customer overwrite
- attribution popover website
- utm tags website order
- script tag tracking camping cookies
- _okyo cookie kitor
- website order customer update
- meta hashed data phone email
Related guides
Checked against the product on 2026-10-02.