[{"data":1,"prerenderedAt":1204},["ShallowReactive",2],{"docs-navigation-en":3,"docs-\u002Fen\u002Fdocs\u002Fdevelopers\u002Finstall":70,"docs-surround-\u002Fen\u002Fdocs\u002Fdevelopers\u002Finstall":1199},[4],{"title":5,"path":6,"stem":7,"children":8,"page":69},"En","\u002Fen","en",[9],{"title":10,"path":11,"stem":12,"children":13,"page":69},"Docs","\u002Fen\u002Fdocs","en\u002Fdocs",[14,22,45],{"title":15,"path":16,"stem":17,"children":18,"icon":21},"Getting started","\u002Fen\u002Fdocs\u002Fgetting-started","en\u002Fdocs\u002F1.getting-started\u002F1.index",[19],{"title":20,"path":16,"stem":17},"What Flowfy is","i-lucide-rocket",{"title":23,"path":24,"stem":25,"children":26,"icon":44},"Destinations","\u002Fen\u002Fdocs\u002Fdestinations","en\u002Fdocs\u002F2.destinations\u002F1.index",[27,28,32,36,40],{"title":23,"path":24,"stem":25},{"title":29,"path":30,"stem":31},"Meta","\u002Fen\u002Fdocs\u002Fdestinations\u002Fmeta","en\u002Fdocs\u002F2.destinations\u002F2.meta",{"title":33,"path":34,"stem":35},"TikTok","\u002Fen\u002Fdocs\u002Fdestinations\u002Ftiktok","en\u002Fdocs\u002F2.destinations\u002F3.tiktok",{"title":37,"path":38,"stem":39},"Snapchat","\u002Fen\u002Fdocs\u002Fdestinations\u002Fsnapchat","en\u002Fdocs\u002F2.destinations\u002F4.snapchat",{"title":41,"path":42,"stem":43},"ChatGPT Ads","\u002Fen\u002Fdocs\u002Fdestinations\u002Fopenai","en\u002Fdocs\u002F2.destinations\u002F5.openai","i-lucide-share-2",{"title":46,"path":47,"stem":48,"children":49,"icon":68},"For developers","\u002Fen\u002Fdocs\u002Fdevelopers","en\u002Fdocs\u002F9.developers\u002F1.index",[50,52,56,60,64],{"title":51,"path":47,"stem":48},"Developer overview",{"title":53,"path":54,"stem":55},"Install the SDK","\u002Fen\u002Fdocs\u002Fdevelopers\u002Finstall","en\u002Fdocs\u002F9.developers\u002F2.install",{"title":57,"path":58,"stem":59},"Tracking","\u002Fen\u002Fdocs\u002Fdevelopers\u002Ftracking","en\u002Fdocs\u002F9.developers\u002F3.tracking",{"title":61,"path":62,"stem":63},"Event reference","\u002Fen\u002Fdocs\u002Fdevelopers\u002Fevents","en\u002Fdocs\u002F9.developers\u002F4.events",{"title":65,"path":66,"stem":67},"HTTP API","\u002Fen\u002Fdocs\u002Fdevelopers\u002Fhttp-api","en\u002Fdocs\u002F9.developers\u002F5.http-api","i-lucide-code",false,{"id":71,"title":53,"audience":72,"body":73,"description":1194,"extension":1195,"meta":1196,"navigation":232,"path":54,"seo":1197,"stem":55,"__hash__":1198},"docs_en\u002Fen\u002Fdocs\u002F9.developers\u002F2.install.md","developer",{"type":74,"value":75,"toc":1184},"minimark",[76,85,88,93,105,109,116,732,739,743,771,827,831,834,851,873,880,883,886,1030,1040,1044,1047,1127,1133,1137,1153,1159,1165,1174,1177,1180],[77,78,79,80,84],"p",{},"The SDK is a script you add once to every page. It gives you a ",[81,82,83],"code",{},"flowfyanalytics"," object that queues calls made before the script finishes downloading, so you can start tracking on the same page that loads it.",[77,86,87],{},"Salla stores get this automatically through the Flowfy app. Install it by hand only for a custom storefront.",[89,90,92],"h2",{"id":91},"before-you-start","Before you start",[77,94,95,96,100,101,104],{},"You need a ",[97,98,99],"strong",{},"write key",". Open your source in Flowfy and copy it from the source's page. Everything below refers to it as ",[81,102,103],{},"YOUR_WRITE_KEY",".",[89,106,108],{"id":107},"add-the-script","Add the script",[77,110,111,112,115],{},"Put this in ",[81,113,114],{},"\u003Chead>",", before anything that tracks.",[117,118,123],"pre",{"className":119,"code":120,"language":121,"meta":122,"style":122},"language-html shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cscript>\n  (function () {\n    var key = \"flowfyanalytics\";\n    var analytics = (window[key] = window[key] || []);\n\n    if (analytics.snippetExecuted) return;\n    analytics.snippetExecuted = true;\n\n    var methods = [\n      \"setDefaultInstanceKey\", \"load\", \"ready\", \"page\", \"track\", \"identify\",\n      \"alias\", \"group\", \"reset\", \"setAnonymousId\", \"startSession\",\n      \"endSession\", \"consent\", \"addCustomIntegration\"\n    ];\n\n    methods.forEach(function (method) {\n      analytics[method] = function () {\n        analytics.push([method].concat(Array.prototype.slice.call(arguments)));\n      };\n    });\n\n    var script = document.createElement(\"script\");\n    script.src = \"https:\u002F\u002Fcdn.flofy.co\u002Fv3\u002Fmodern\u002Fiife\u002Fflowfy.min.js\";\n    script.async = true;\n    document.head.appendChild(script);\n\n    analytics.load(\"YOUR_WRITE_KEY\", \"https:\u002F\u002Fedge.flofy.co\");\n    analytics.page();\n  })();\n\u003C\u002Fscript>\n","html","",[81,124,125,141,158,182,227,234,259,277,282,295,355,403,432,440,445,473,494,549,555,565,570,600,622,638,662,667,697,711,722],{"__ignoreMap":122},[126,127,130,134,138],"span",{"class":128,"line":129},"line",1,[126,131,133],{"class":132},"sMK4o","\u003C",[126,135,137],{"class":136},"swJcz","script",[126,139,140],{"class":132},">\n",[126,142,144,148,152,155],{"class":128,"line":143},2,[126,145,147],{"class":146},"sTEyZ","  (",[126,149,151],{"class":150},"spNyl","function",[126,153,154],{"class":132}," ()",[126,156,157],{"class":132}," {\n",[126,159,161,164,167,170,173,176,179],{"class":128,"line":160},3,[126,162,163],{"class":150},"    var",[126,165,166],{"class":146}," key",[126,168,169],{"class":132}," =",[126,171,172],{"class":132}," \"",[126,174,83],{"class":175},"sfazB",[126,177,178],{"class":132},"\"",[126,180,181],{"class":132},";\n",[126,183,185,187,190,192,195,198,201,204,207,210,213,215,217,219,222,225],{"class":128,"line":184},4,[126,186,163],{"class":150},[126,188,189],{"class":146}," analytics",[126,191,169],{"class":132},[126,193,194],{"class":136}," (",[126,196,197],{"class":146},"window",[126,199,200],{"class":136},"[",[126,202,203],{"class":146},"key",[126,205,206],{"class":136},"] ",[126,208,209],{"class":132},"=",[126,211,212],{"class":146}," window",[126,214,200],{"class":136},[126,216,203],{"class":146},[126,218,206],{"class":136},[126,220,221],{"class":132},"||",[126,223,224],{"class":136}," [])",[126,226,181],{"class":132},[126,228,230],{"class":128,"line":229},5,[126,231,233],{"emptyLinePlaceholder":232},true,"\n",[126,235,237,241,243,246,248,251,254,257],{"class":128,"line":236},6,[126,238,240],{"class":239},"s7zQu","    if",[126,242,194],{"class":136},[126,244,245],{"class":146},"analytics",[126,247,104],{"class":132},[126,249,250],{"class":146},"snippetExecuted",[126,252,253],{"class":136},") ",[126,255,256],{"class":239},"return",[126,258,181],{"class":132},[126,260,262,265,267,269,271,275],{"class":128,"line":261},7,[126,263,264],{"class":146},"    analytics",[126,266,104],{"class":132},[126,268,250],{"class":146},[126,270,169],{"class":132},[126,272,274],{"class":273},"sfNiH"," true",[126,276,181],{"class":132},[126,278,280],{"class":128,"line":279},8,[126,281,233],{"emptyLinePlaceholder":232},[126,283,285,287,290,292],{"class":128,"line":284},9,[126,286,163],{"class":150},[126,288,289],{"class":146}," methods",[126,291,169],{"class":132},[126,293,294],{"class":136}," [\n",[126,296,298,301,304,306,309,311,314,316,318,320,323,325,327,329,332,334,336,338,341,343,345,347,350,352],{"class":128,"line":297},10,[126,299,300],{"class":132},"      \"",[126,302,303],{"class":175},"setDefaultInstanceKey",[126,305,178],{"class":132},[126,307,308],{"class":132},",",[126,310,172],{"class":132},[126,312,313],{"class":175},"load",[126,315,178],{"class":132},[126,317,308],{"class":132},[126,319,172],{"class":132},[126,321,322],{"class":175},"ready",[126,324,178],{"class":132},[126,326,308],{"class":132},[126,328,172],{"class":132},[126,330,331],{"class":175},"page",[126,333,178],{"class":132},[126,335,308],{"class":132},[126,337,172],{"class":132},[126,339,340],{"class":175},"track",[126,342,178],{"class":132},[126,344,308],{"class":132},[126,346,172],{"class":132},[126,348,349],{"class":175},"identify",[126,351,178],{"class":132},[126,353,354],{"class":132},",\n",[126,356,358,360,363,365,367,369,372,374,376,378,381,383,385,387,390,392,394,396,399,401],{"class":128,"line":357},11,[126,359,300],{"class":132},[126,361,362],{"class":175},"alias",[126,364,178],{"class":132},[126,366,308],{"class":132},[126,368,172],{"class":132},[126,370,371],{"class":175},"group",[126,373,178],{"class":132},[126,375,308],{"class":132},[126,377,172],{"class":132},[126,379,380],{"class":175},"reset",[126,382,178],{"class":132},[126,384,308],{"class":132},[126,386,172],{"class":132},[126,388,389],{"class":175},"setAnonymousId",[126,391,178],{"class":132},[126,393,308],{"class":132},[126,395,172],{"class":132},[126,397,398],{"class":175},"startSession",[126,400,178],{"class":132},[126,402,354],{"class":132},[126,404,406,408,411,413,415,417,420,422,424,426,429],{"class":128,"line":405},12,[126,407,300],{"class":132},[126,409,410],{"class":175},"endSession",[126,412,178],{"class":132},[126,414,308],{"class":132},[126,416,172],{"class":132},[126,418,419],{"class":175},"consent",[126,421,178],{"class":132},[126,423,308],{"class":132},[126,425,172],{"class":132},[126,427,428],{"class":175},"addCustomIntegration",[126,430,431],{"class":132},"\"\n",[126,433,435,438],{"class":128,"line":434},13,[126,436,437],{"class":136},"    ]",[126,439,181],{"class":132},[126,441,443],{"class":128,"line":442},14,[126,444,233],{"emptyLinePlaceholder":232},[126,446,448,451,453,457,460,462,464,468,471],{"class":128,"line":447},15,[126,449,450],{"class":146},"    methods",[126,452,104],{"class":132},[126,454,456],{"class":455},"s2Zo4","forEach",[126,458,459],{"class":136},"(",[126,461,151],{"class":150},[126,463,194],{"class":132},[126,465,467],{"class":466},"sHdIc","method",[126,469,470],{"class":132},")",[126,472,157],{"class":132},[126,474,476,479,481,483,485,487,490,492],{"class":128,"line":475},16,[126,477,478],{"class":146},"      analytics",[126,480,200],{"class":136},[126,482,467],{"class":146},[126,484,206],{"class":136},[126,486,209],{"class":132},[126,488,489],{"class":150}," function",[126,491,154],{"class":132},[126,493,157],{"class":132},[126,495,497,500,502,505,508,510,513,515,518,520,524,526,529,531,534,536,539,541,544,547],{"class":128,"line":496},17,[126,498,499],{"class":146},"        analytics",[126,501,104],{"class":132},[126,503,504],{"class":455},"push",[126,506,507],{"class":136},"([",[126,509,467],{"class":146},[126,511,512],{"class":136},"]",[126,514,104],{"class":132},[126,516,517],{"class":455},"concat",[126,519,459],{"class":136},[126,521,523],{"class":522},"sBMFI","Array",[126,525,104],{"class":132},[126,527,528],{"class":146},"prototype",[126,530,104],{"class":132},[126,532,533],{"class":146},"slice",[126,535,104],{"class":132},[126,537,538],{"class":455},"call",[126,540,459],{"class":136},[126,542,543],{"class":146},"arguments",[126,545,546],{"class":136},")))",[126,548,181],{"class":132},[126,550,552],{"class":128,"line":551},18,[126,553,554],{"class":132},"      };\n",[126,556,558,561,563],{"class":128,"line":557},19,[126,559,560],{"class":132},"    }",[126,562,470],{"class":136},[126,564,181],{"class":132},[126,566,568],{"class":128,"line":567},20,[126,569,233],{"emptyLinePlaceholder":232},[126,571,573,575,578,580,583,585,588,590,592,594,596,598],{"class":128,"line":572},21,[126,574,163],{"class":150},[126,576,577],{"class":146}," script",[126,579,169],{"class":132},[126,581,582],{"class":146}," document",[126,584,104],{"class":132},[126,586,587],{"class":455},"createElement",[126,589,459],{"class":136},[126,591,178],{"class":132},[126,593,137],{"class":175},[126,595,178],{"class":132},[126,597,470],{"class":136},[126,599,181],{"class":132},[126,601,603,606,608,611,613,615,618,620],{"class":128,"line":602},22,[126,604,605],{"class":146},"    script",[126,607,104],{"class":132},[126,609,610],{"class":146},"src",[126,612,169],{"class":132},[126,614,172],{"class":132},[126,616,617],{"class":175},"https:\u002F\u002Fcdn.flofy.co\u002Fv3\u002Fmodern\u002Fiife\u002Fflowfy.min.js",[126,619,178],{"class":132},[126,621,181],{"class":132},[126,623,625,627,629,632,634,636],{"class":128,"line":624},23,[126,626,605],{"class":146},[126,628,104],{"class":132},[126,630,631],{"class":146},"async",[126,633,169],{"class":132},[126,635,274],{"class":273},[126,637,181],{"class":132},[126,639,641,644,646,649,651,654,656,658,660],{"class":128,"line":640},24,[126,642,643],{"class":146},"    document",[126,645,104],{"class":132},[126,647,648],{"class":146},"head",[126,650,104],{"class":132},[126,652,653],{"class":455},"appendChild",[126,655,459],{"class":136},[126,657,137],{"class":146},[126,659,470],{"class":136},[126,661,181],{"class":132},[126,663,665],{"class":128,"line":664},25,[126,666,233],{"emptyLinePlaceholder":232},[126,668,670,672,674,676,678,680,682,684,686,688,691,693,695],{"class":128,"line":669},26,[126,671,264],{"class":146},[126,673,104],{"class":132},[126,675,313],{"class":455},[126,677,459],{"class":136},[126,679,178],{"class":132},[126,681,103],{"class":175},[126,683,178],{"class":132},[126,685,308],{"class":132},[126,687,172],{"class":132},[126,689,690],{"class":175},"https:\u002F\u002Fedge.flofy.co",[126,692,178],{"class":132},[126,694,470],{"class":136},[126,696,181],{"class":132},[126,698,700,702,704,706,709],{"class":128,"line":699},27,[126,701,264],{"class":146},[126,703,104],{"class":132},[126,705,331],{"class":455},[126,707,708],{"class":136},"()",[126,710,181],{"class":132},[126,712,714,717,720],{"class":128,"line":713},28,[126,715,716],{"class":132},"  }",[126,718,719],{"class":146},")()",[126,721,181],{"class":132},[126,723,725,728,730],{"class":128,"line":724},29,[126,726,727],{"class":132},"\u003C\u002F",[126,729,137],{"class":136},[126,731,140],{"class":132},[77,733,734,735,738],{},"That is the whole install. The loop is what lets ",[81,736,737],{},"flowfyanalytics.track(...)"," work before the real SDK has arrived — calls are pushed onto an array and replayed once it loads.",[89,740,742],{"id":741},"what-the-arguments-mean","What the arguments mean",[117,744,748],{"className":745,"code":746,"language":747,"meta":122,"style":122},"language-js shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","flowfyanalytics.load(writeKey, dataPlaneUrl, options)\n","js",[81,749,750],{"__ignoreMap":122},[126,751,752,754,756,758,761,763,766,768],{"class":128,"line":129},[126,753,83],{"class":146},[126,755,104],{"class":132},[126,757,313],{"class":455},[126,759,760],{"class":146},"(writeKey",[126,762,308],{"class":132},[126,764,765],{"class":146}," dataPlaneUrl",[126,767,308],{"class":132},[126,769,770],{"class":146}," options)\n",[772,773,774,787],"table",{},[775,776,777],"thead",{},[778,779,780,784],"tr",{},[781,782,783],"th",{},"Argument",[781,785,786],{},"Value",[788,789,790,801,812],"tbody",{},[778,791,792,798],{},[793,794,795],"td",{},[81,796,797],{},"writeKey",[793,799,800],{},"Your source's write key",[778,802,803,808],{},[793,804,805],{},[81,806,807],{},"dataPlaneUrl",[793,809,810],{},[81,811,690],{},[778,813,814,819],{},[793,815,816],{},[81,817,818],{},"options",[793,820,821,822],{},"Optional — see ",[823,824,826],"a",{"href":825},"#batching","batching",[89,828,830],{"id":829},"check-that-it-works","Check that it works",[77,832,833],{},"Load a page and open the browser console:",[117,835,837],{"className":745,"code":836,"language":747,"meta":122,"style":122},"flowfyanalytics.getAnonymousId()\n",[81,838,839],{"__ignoreMap":122},[126,840,841,843,845,848],{"class":128,"line":129},[126,842,83],{"class":146},[126,844,104],{"class":132},[126,846,847],{"class":455},"getAnonymousId",[126,849,850],{"class":146},"()\n",[77,852,853,854,857,858,861,862,865,866,869,870,104],{},"A string means the SDK loaded. Then open the Network tab, filter on ",[81,855,856],{},"edge.flofy.co",", and trigger an event — you should see a ",[81,859,860],{},"POST"," to ",[81,863,864],{},"\u002Fv1\u002Fpage"," or ",[81,867,868],{},"\u002Fv1\u002Ftrack"," answered with ",[97,871,872],{},"204",[77,874,875,876,879],{},"If both look right, open ",[97,877,878],{},"Live events"," on the source's page in Flowfy. Events appear there within a few seconds.",[89,881,882],{"id":826},"Batching",[77,884,885],{},"By default the SDK sends each event as its own request. On a busy storefront you can batch them:",[117,887,889],{"className":745,"code":888,"language":747,"meta":122,"style":122},"flowfyanalytics.load(\"YOUR_WRITE_KEY\", \"https:\u002F\u002Fedge.flofy.co\", {\n  plugins: [\"XhrQueue\"],\n  queueOptions: {\n    batch: {\n      enabled: true,\n      maxItems: 50,\n      maxSize: 512 * 1024,\n      flushInterval: 60000\n    }\n  }\n});\n",[81,890,891,919,941,950,959,970,983,1001,1011,1016,1021],{"__ignoreMap":122},[126,892,893,895,897,899,901,903,905,907,909,911,913,915,917],{"class":128,"line":129},[126,894,83],{"class":146},[126,896,104],{"class":132},[126,898,313],{"class":455},[126,900,459],{"class":146},[126,902,178],{"class":132},[126,904,103],{"class":175},[126,906,178],{"class":132},[126,908,308],{"class":132},[126,910,172],{"class":132},[126,912,690],{"class":175},[126,914,178],{"class":132},[126,916,308],{"class":132},[126,918,157],{"class":132},[126,920,921,924,927,930,932,935,937,939],{"class":128,"line":143},[126,922,923],{"class":136},"  plugins",[126,925,926],{"class":132},":",[126,928,929],{"class":146}," [",[126,931,178],{"class":132},[126,933,934],{"class":175},"XhrQueue",[126,936,178],{"class":132},[126,938,512],{"class":146},[126,940,354],{"class":132},[126,942,943,946,948],{"class":128,"line":160},[126,944,945],{"class":136},"  queueOptions",[126,947,926],{"class":132},[126,949,157],{"class":132},[126,951,952,955,957],{"class":128,"line":184},[126,953,954],{"class":136},"    batch",[126,956,926],{"class":132},[126,958,157],{"class":132},[126,960,961,964,966,968],{"class":128,"line":229},[126,962,963],{"class":136},"      enabled",[126,965,926],{"class":132},[126,967,274],{"class":273},[126,969,354],{"class":132},[126,971,972,975,977,981],{"class":128,"line":236},[126,973,974],{"class":136},"      maxItems",[126,976,926],{"class":132},[126,978,980],{"class":979},"sbssI"," 50",[126,982,354],{"class":132},[126,984,985,988,990,993,996,999],{"class":128,"line":261},[126,986,987],{"class":136},"      maxSize",[126,989,926],{"class":132},[126,991,992],{"class":979}," 512",[126,994,995],{"class":132}," *",[126,997,998],{"class":979}," 1024",[126,1000,354],{"class":132},[126,1002,1003,1006,1008],{"class":128,"line":279},[126,1004,1005],{"class":136},"      flushInterval",[126,1007,926],{"class":132},[126,1009,1010],{"class":979}," 60000\n",[126,1012,1013],{"class":128,"line":284},[126,1014,1015],{"class":132},"    }\n",[126,1017,1018],{"class":128,"line":297},[126,1019,1020],{"class":132},"  }\n",[126,1022,1023,1026,1028],{"class":128,"line":357},[126,1024,1025],{"class":132},"}",[126,1027,470],{"class":146},[126,1029,181],{"class":132},[77,1031,1032,1035,1036,1039],{},[81,1033,1034],{},"flushInterval"," is in milliseconds and ",[81,1037,1038],{},"maxSize"," in bytes. Batched events wait in the browser until one of the three limits is reached, so a shopper who closes the tab early loses whatever is still queued. Leave batching off unless request volume is an actual problem.",[89,1041,1043],{"id":1042},"identifying-a-logged-in-shopper","Identifying a logged-in shopper",[77,1045,1046],{},"If you already know who the shopper is when the page renders, say so on load:",[117,1048,1050],{"className":745,"code":1049,"language":747,"meta":122,"style":122},"flowfyanalytics.identify(\"customer_9931\", {\n  name: \"Sara Al-Otaibi\",\n  email: \"sara@example.com\",\n  phone: \"+966500000000\"\n});\n",[81,1051,1052,1073,1089,1105,1119],{"__ignoreMap":122},[126,1053,1054,1056,1058,1060,1062,1064,1067,1069,1071],{"class":128,"line":129},[126,1055,83],{"class":146},[126,1057,104],{"class":132},[126,1059,349],{"class":455},[126,1061,459],{"class":146},[126,1063,178],{"class":132},[126,1065,1066],{"class":175},"customer_9931",[126,1068,178],{"class":132},[126,1070,308],{"class":132},[126,1072,157],{"class":132},[126,1074,1075,1078,1080,1082,1085,1087],{"class":128,"line":143},[126,1076,1077],{"class":136},"  name",[126,1079,926],{"class":132},[126,1081,172],{"class":132},[126,1083,1084],{"class":175},"Sara Al-Otaibi",[126,1086,178],{"class":132},[126,1088,354],{"class":132},[126,1090,1091,1094,1096,1098,1101,1103],{"class":128,"line":160},[126,1092,1093],{"class":136},"  email",[126,1095,926],{"class":132},[126,1097,172],{"class":132},[126,1099,1100],{"class":175},"sara@example.com",[126,1102,178],{"class":132},[126,1104,354],{"class":132},[126,1106,1107,1110,1112,1114,1117],{"class":128,"line":184},[126,1108,1109],{"class":136},"  phone",[126,1111,926],{"class":132},[126,1113,172],{"class":132},[126,1115,1116],{"class":175},"+966500000000",[126,1118,431],{"class":132},[126,1120,1121,1123,1125],{"class":128,"line":229},[126,1122,1025],{"class":132},[126,1124,470],{"class":146},[126,1126,181],{"class":132},[77,1128,1129,1130,104],{},"The rest of the methods are on the ",[823,1131,1132],{"href":58},"tracking page",[89,1134,1136],{"id":1135},"if-nothing-arrives","If nothing arrives",[77,1138,1139,1145,1146,1149,1150,104],{},[97,1140,1141,1142,1144],{},"No ",[81,1143,83],{}," in the console."," The script did not load. Look for ",[81,1147,1148],{},"flowfy.min.js"," in the Network tab — a blocked request usually means an ad blocker, or a Content-Security-Policy that does not allow ",[81,1151,1152],{},"cdn.flofy.co",[77,1154,1155,1158],{},[97,1156,1157],{},"Requests answered with 400."," The write key is missing or malformed. Re-copy it from the source page.",[77,1160,1161,1164],{},[97,1162,1163],{},"Requests answered with 204, but nothing in Live events."," The request was well-formed but the write key does not match a source. A 204 confirms receipt only — it is not a check that the key is valid.",[77,1166,1167,1170,1171,1173],{},[97,1168,1169],{},"Events fire twice."," The snippet is on the page more than once. ",[81,1172,250],{}," guards against that, so a duplicate usually means two different copies of the snippet, or a router re-running it on navigation.",[89,1175,1176],{"id":1176},"npm",[77,1178,1179],{},"There is no published npm package yet. Use the script tag above.",[1181,1182,1183],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":122,"searchDepth":143,"depth":143,"links":1185},[1186,1187,1188,1189,1190,1191,1192,1193],{"id":91,"depth":143,"text":92},{"id":107,"depth":143,"text":108},{"id":741,"depth":143,"text":742},{"id":829,"depth":143,"text":830},{"id":826,"depth":143,"text":882},{"id":1042,"depth":143,"text":1043},{"id":1135,"depth":143,"text":1136},{"id":1176,"depth":143,"text":1176},"Add the Flowfy tracking script to a custom storefront and point it at your source.","md",{},{"title":53,"description":1194},"scHEqU0kYNdVgE6VwUTwI4tFhfy-VJw12k_6PdocSCM",[1200,1202],{"title":51,"path":47,"stem":48,"description":1201,"children":-1},"Send your store's events to Flowfy from the browser or from your server.",{"title":57,"path":58,"stem":59,"description":1203,"children":-1},"The SDK methods for recording what a shopper does and who they are.",1789651421822]