[{"data":1,"prerenderedAt":634},["ShallowReactive",2],{"navigation_docs":3,"-connectors-woocommerce":140,"-connectors-woocommerce-surround":629},[4,23,45,86,104,122],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":22},"Getting started","i-lucide-rocket","/getting-started","1.getting-started",[10,14,18],{"title":11,"path":12,"stem":13},"Introduction","/getting-started/introduction","1.getting-started/1.introduction",{"title":15,"path":16,"stem":17},"Quickstart","/getting-started/quickstart","1.getting-started/2.quickstart",{"title":19,"path":20,"stem":21},"Core concepts","/getting-started/concepts","1.getting-started/3.concepts",false,{"title":24,"icon":25,"path":26,"stem":27,"children":28,"page":22},"Tracking SDK","i-lucide-chart-line","/tracking-sdk","2.tracking-sdk",[29,33,37,41],{"title":30,"path":31,"stem":32},"Overview","/tracking-sdk/overview","2.tracking-sdk/1.overview",{"title":34,"path":35,"stem":36},"JavaScript SDK","/tracking-sdk/javascript","2.tracking-sdk/2.javascript",{"title":38,"path":39,"stem":40},"Events reference","/tracking-sdk/events","2.tracking-sdk/3.events",{"title":42,"path":43,"stem":44},"Event schema","/tracking-sdk/event-schema","2.tracking-sdk/4.event-schema",{"title":46,"icon":47,"path":48,"stem":49,"children":50,"page":22},"Connectors","i-lucide-plug","/connectors","3.connectors",[51,54,58,62,66,70,74,78,82],{"title":30,"path":52,"stem":53},"/connectors/overview","3.connectors/1.overview",{"title":55,"path":56,"stem":57},"Google Ads","/connectors/google-ads","3.connectors/2.google-ads",{"title":59,"path":60,"stem":61},"Meta Ads","/connectors/meta-ads","3.connectors/3.meta-ads",{"title":63,"path":64,"stem":65},"TikTok Ads","/connectors/tiktok-ads","3.connectors/4.tiktok-ads",{"title":67,"path":68,"stem":69},"LinkedIn Ads","/connectors/linkedin-ads","3.connectors/5.linkedin-ads",{"title":71,"path":72,"stem":73},"Pinterest Ads","/connectors/pinterest-ads","3.connectors/6.pinterest-ads",{"title":75,"path":76,"stem":77},"Custom webhooks","/connectors/webhooks","3.connectors/7.webhooks",{"title":79,"path":80,"stem":81},"PrestaShop","/connectors/prestashop","3.connectors/8.prestashop",{"title":83,"path":84,"stem":85},"WooCommerce","/connectors/woocommerce","3.connectors/9.woocommerce",{"title":87,"icon":88,"path":89,"stem":90,"children":91,"page":22},"Attribution","i-lucide-git-fork","/attribution","4.attribution",[92,96,100],{"title":93,"path":94,"stem":95},"How attribution works","/attribution/overview","4.attribution/1.overview",{"title":97,"path":98,"stem":99},"Data-driven model","/attribution/data-driven","4.attribution/2.data-driven",{"title":101,"path":102,"stem":103},"Attribution windows","/attribution/windows","4.attribution/3.windows",{"title":105,"icon":106,"path":107,"stem":108,"children":109,"page":22},"Dashboard","i-lucide-layout-dashboard","/dashboard","5.dashboard",[110,114,118],{"title":111,"path":112,"stem":113},"Dashboard overview","/dashboard/overview","5.dashboard/1.overview",{"title":115,"path":116,"stem":117},"Metrics reference","/dashboard/metrics","5.dashboard/2.metrics",{"title":119,"path":120,"stem":121},"Alerts","/dashboard/alerts","5.dashboard/3.alerts",{"title":123,"icon":124,"path":125,"stem":126,"children":127,"page":22},"Lumen","i-lucide-shield-check","/lumen","6.lumen",[128,132,136],{"title":129,"path":130,"stem":131},"Lumen overview","/lumen/overview","6.lumen/1.overview",{"title":133,"path":134,"stem":135},"Setup","/lumen/setup","6.lumen/2.setup",{"title":137,"path":138,"stem":139},"Investigations","/lumen/investigations","6.lumen/3.investigations",{"id":141,"title":83,"body":142,"description":622,"extension":623,"links":624,"meta":625,"navigation":626,"path":84,"seo":627,"stem":85,"__hash__":628},"docs/3.connectors/9.woocommerce.md",{"type":143,"value":144,"toc":606},"minimark",[145,149,154,253,256,260,263,293,295,299,302,339,342,344,348,365,368,373,438,442,496,503,512,514,518,529,539,541,545,549,586,590],[146,147,148],"p",{},"WooCommerce natively sends webhooks — no custom server-side code is needed to forward events. You only need a small plugin to enable session matching, then register the webhooks in your WooCommerce admin.",[150,151,153],"h2",{"id":152},"event-mapping","Event mapping",[155,156,157,176],"table",{},[158,159,160],"thead",{},[161,162,163,167,170,173],"tr",{},[164,165,166],"th",{},"WooCommerce topic",[164,168,169],{},"WC order status",[164,171,172],{},"TrustData event",[164,174,175],{},"Shopify equivalent",[177,178,179,207,230],"tbody",{},[161,180,181,188,197,202],{},[182,183,184],"td",{},[185,186,187],"code",{},"order.created",[182,189,190,193,194],{},[185,191,192],{},"processing",", ",[185,195,196],{},"completed",[182,198,199],{},[185,200,201],{},"purchase",[182,203,204],{},[185,205,206],{},"orders/paid",[161,208,209,214,219,224],{},[182,210,211],{},[185,212,213],{},"order.updated",[182,215,216],{},[185,217,218],{},"refunded",[182,220,221],{},[185,222,223],{},"refund",[182,225,226,229],{},[185,227,228],{},"orders/updated"," (with refunds)",[161,231,232,236,244,248],{},[182,233,234],{},[185,235,213],{},[182,237,238,193,241],{},[185,239,240],{},"cancelled",[185,242,243],{},"failed",[182,245,246],{},[185,247,223],{},[182,249,250],{},[185,251,252],{},"orders/cancelled",[254,255],"hr",{},[150,257,259],{"id":258},"before-you-start","Before you start",[146,261,262],{},"You need:",[264,265,266,279],"ul",{},[267,268,269,270,274,275,278],"li",{},"The ",[271,272,273],"strong",{},"TrustData JS SDK"," installed on your storefront (see ",[276,277,34],"a",{"href":35},")",[267,280,281,282,285,286,289,290],{},"Your ",[271,283,284],{},"Attribution ID"," from ",[271,287,288],{},"Settings"," → ",[271,291,292],{},"Attribution IDs",[254,294],{},[150,296,298],{"id":297},"step-1-install-the-plugin","Step 1 — Install the plugin",[146,300,301],{},"The TrustData plugin saves the visitor ID from the browser to order meta during checkout. WooCommerce then includes it in webhook payloads, which allows TrustData to match the order to the original ad click.",[303,304,305,318,330],"ol",{},[267,306,307,308,311,312],{},"Download ",[185,309,310],{},"trustdata-woocommerce.zip"," from the ",[276,313,317],{"href":314,"rel":315},"https://github.com/trstdata/trustdata-cloud/releases",[316],"nofollow","GitHub releases",[267,319,320,321,289,324,289,327],{},"In your WordPress admin, go to ",[271,322,323],{},"Plugins",[271,325,326],{},"Add New",[271,328,329],{},"Upload Plugin",[267,331,332,333,289,336],{},"Select the ZIP file → click ",[271,334,335],{},"Install Now",[271,337,338],{},"Activate",[146,340,341],{},"No configuration needed — the plugin works automatically once activated.",[254,343],{},[150,345,347],{"id":346},"step-2-register-webhooks-in-woocommerce","Step 2 — Register webhooks in WooCommerce",[146,349,350,351,289,353,289,355,289,358,289,361,364],{},"Go to ",[271,352,83],{},[271,354,288],{},[271,356,357],{},"Advanced",[271,359,360],{},"Webhooks",[271,362,363],{},"Add webhook",".",[146,366,367],{},"Create two webhooks:",[369,370,372],"h3",{"id":371},"order-created","Order created",[155,374,375,385],{},[158,376,377],{},[161,378,379,382],{},[164,380,381],{},"Field",[164,383,384],{},"Value",[177,386,387,397,405,412,422,430],{},[161,388,389,392],{},[182,390,391],{},"Name",[182,393,394],{},[185,395,396],{},"TrustData – Order created",[161,398,399,402],{},[182,400,401],{},"Status",[182,403,404],{},"Active",[161,406,407,410],{},[182,408,409],{},"Topic",[182,411,372],{},[161,413,414,417],{},[182,415,416],{},"Delivery URL",[182,418,419],{},[185,420,421],{},"https://t.trustdata.tech/webhooks/woocommerce/YOUR_ATTRIBUTION_ID/orders",[161,423,424,427],{},[182,425,426],{},"Secret",[182,428,429],{},"Generate a random string and copy it",[161,431,432,435],{},[182,433,434],{},"API version",[182,436,437],{},"WP REST API Integration v3",[369,439,441],{"id":440},"order-updated","Order updated",[155,443,444,452],{},[158,445,446],{},[161,447,448,450],{},[164,449,381],{},[164,451,384],{},[177,453,454,463,469,475,483,490],{},[161,455,456,458],{},[182,457,391],{},[182,459,460],{},[185,461,462],{},"TrustData – Order updated",[161,464,465,467],{},[182,466,401],{},[182,468,404],{},[161,470,471,473],{},[182,472,409],{},[182,474,441],{},[161,476,477,479],{},[182,478,416],{},[182,480,481],{},[185,482,421],{},[161,484,485,487],{},[182,486,426],{},[182,488,489],{},"Same secret as above",[161,491,492,494],{},[182,493,434],{},[182,495,437],{},[146,497,498,499,502],{},"Replace ",[185,500,501],{},"YOUR_ATTRIBUTION_ID"," with your actual Attribution ID from the TrustData dashboard.",[504,505,507,508,511],"callout",{"icon":506},"i-lucide-info","Both webhooks share the same endpoint URL and secret. The topic is sent automatically by WooCommerce in the ",[185,509,510],{},"X-WC-Webhook-Topic"," header.",[254,513],{},[150,515,517],{"id":516},"how-session-matching-works","How session matching works",[146,519,520,521,524,525,528],{},"The JS SDK sets a ",[185,522,523],{},"_trdt_vid"," cookie when a visitor lands on your site. At checkout, the TrustData plugin reads this cookie and saves it to the WooCommerce order as ",[185,526,527],{},"_td_visitor_id"," meta. WooCommerce includes all order meta in the webhook payload, so TrustData receives the visitor ID alongside the order data.",[530,531,536],"pre",{"className":532,"code":534,"language":535},[533],"language-text","Visitor lands on store             → JS SDK sets _trdt_vid cookie\nVisitor completes checkout         → Plugin saves _trdt_vid to order meta\nWooCommerce fires order.created    → Sends webhook to TrustData\nTrustData reads _td_visitor_id     → Matches order to ad session\n","text",[185,537,534],{"__ignoreMap":538},"",[254,540],{},[150,542,544],{"id":543},"troubleshooting","Troubleshooting",[369,546,548],{"id":547},"conversions-not-attributed","Conversions not attributed",[264,550,551,554,560,571],{},[267,552,553],{},"Confirm the TrustData plugin is active",[267,555,556,557,559],{},"Check that ",[185,558,523],{}," appears in browser DevTools → Application → Cookies on your storefront",[267,561,562,563,566,567,570],{},"In WooCommerce → Webhooks, check the ",[271,564,565],{},"Delivery log"," for the webhook — a ",[185,568,569],{},"200"," response means TrustData received it",[267,572,573,574,577,578,581,582,585],{},"In the TrustData dashboard → Webhooks tab → ",[271,575,576],{},"Recent Activity",", check ",[185,579,580],{},"session_matched"," — ",[185,583,584],{},"false"," means the webhook arrived but no session was found",[369,587,589],{"id":588},"webhook-delivery-failures","Webhook delivery failures",[264,591,592,595,603],{},[267,593,594],{},"Confirm the Delivery URL contains the correct Attribution ID",[267,596,597,598,600,601],{},"Check that the webhook ",[271,599,401],{}," is set to ",[271,602,404],{},[267,604,605],{},"WooCommerce retries failed deliveries automatically — check the delivery log for error details",{"title":538,"searchDepth":607,"depth":607,"links":608},2,[609,610,611,612,617,618],{"id":152,"depth":607,"text":153},{"id":258,"depth":607,"text":259},{"id":297,"depth":607,"text":298},{"id":346,"depth":607,"text":347,"children":613},[614,616],{"id":371,"depth":615,"text":372},3,{"id":440,"depth":615,"text":441},{"id":516,"depth":607,"text":517},{"id":543,"depth":607,"text":544,"children":619},[620,621],{"id":547,"depth":615,"text":548},{"id":588,"depth":615,"text":589},"Track orders, refunds, and cancellations from WooCommerce using native webhooks.","md",null,{},true,{"title":83,"description":622},"pnPMvO00KeYEqfm2j5jgABtZ6ltyPH68gCstHPhPZPA",[630,632],{"title":79,"path":80,"stem":81,"description":631,"children":-1},"Track orders, refunds, and signups from PrestaShop using the TrustData module.",{"title":93,"path":94,"stem":95,"description":633,"children":-1},"Understand how TrustData attributes conversions to marketing touchpoints.",1774455487329]