[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-en-\u002Fen\u002Fdocs\u002Foffline-import":3},{"id":4,"title":5,"body":6,"category":665,"code_examples":666,"demos":666,"description":667,"extension":668,"meta":669,"navigation":666,"order":670,"path":671,"seo":672,"sitemap":682,"stem":684,"tags":685,"toc":690,"videos":666,"__hash__":691},"docsEn\u002Fen\u002Fdocs\u002Foffline-import.md","Ad Platform Integration & Offline Data",{"type":7,"value":8,"toc":648},"minimark",[9,13,17,36,41,44,53,58,61,66,72,88,98,102,105,174,185,193,197,204,210,215,235,240,251,266,270,276,283,287,307,311,336,351,355,362,365,369,397,401,404,500,506,510,539,543,575,579,582,602,618,622,644],[10,11,5],"h1",{"id":12},"ad-platform-integration-offline-data",[14,15,16],"p",{},"Understand how Konektor bridges the gap between ad clicks and business sales—whether they happen on your website, WhatsApp, or physical store.",[14,18,19,20,24,25,28,29,24,32,35],{},"This guide explains the concepts of ",[21,22,23],"strong",{},"Click ID"," and ",[21,26,27],{},"Customer Data Matching"," in simple terms, and how to use the ",[21,30,31],{},"Auto Feedback",[21,33,34],{},"Offline Import"," features to complete your data picture.",[37,38,40],"h2",{"id":39},"how-ad-tracking-works","How Ad Tracking Works",[14,42,43],{},"For ad platforms (like Meta, Google, TikTok) to know that their ads successfully generated sales, there needs to be a data \"bridge\" between your business and the ad platform.",[14,45,46,47,24,49,52],{},"Konektor uses two main methods to build this bridge: ",[21,48,23],{},[21,50,51],{},"Customer Data (User Details)",".",[54,55,57],"h3",{"id":56},"_1-the-click-id-concept","1. The Click ID Concept",[14,59,60],{},"This section explains how the system tracks a single unique click from an ad to a purchase.",[62,63,65],"h4",{"id":64},"simple-explanation-non-technical","Simple Explanation (Non-Technical)",[14,67,68,69,52],{},"Imagine a ",[21,70,71],{},"Parking Ticket",[73,74,75,79,82,85],"ol",{},[76,77,78],"li",{},"When you enter a parking garage (User clicks an ad), you get a unique ticket.",[76,80,81],{},"You shop inside the mall (Browse the website).",[76,83,84],{},"When you leave (Pay\u002FConvert), that ticket is scanned.",[76,86,87],{},"The parking manager knows exactly when you entered and how long you stayed.",[14,89,90,91,93,94],{},"In the digital world, a ",[21,92,23],{}," is that parking ticket. When a user clicks an ad, they are given a \"unique code\". If they buy, Konektor sends that \"unique code\" back to the ad platform, essentially saying: ",[95,96,97],"em",{},"\"Hey, the owner of ticket number 12345 just purchased $50!\"",[62,99,101],{"id":100},"technical-explanation","Technical Explanation",[14,103,104],{},"Ad platforms append a unique parameter to the URL when an ad is clicked. Konektor captures, stores, and sends this parameter back upon conversion via API (Server-Side Tracking).",[106,107,108,124],"table",{},[109,110,111],"thead",{},[112,113,114,118,121],"tr",{},[115,116,117],"th",{},"Platform",[115,119,120],{},"Click ID Name",[115,122,123],{},"Parameter Example",[125,126,127,144,159],"tbody",{},[112,128,129,135,138],{},[130,131,132],"td",{},[21,133,134],{},"Google Ads",[130,136,137],{},"GCLID",[130,139,140],{},[141,142,143],"code",{},"?gclid=CjwKCAjw...",[112,145,146,151,154],{},[130,147,148],{},[21,149,150],{},"Meta (Facebook)",[130,152,153],{},"FBCLID",[130,155,156],{},[141,157,158],{},"?fbclid=IwAR0...",[112,160,161,166,169],{},[130,162,163],{},[21,164,165],{},"TikTok Ads",[130,167,168],{},"TTCLID",[130,170,171],{},[141,172,173],{},"?ttclid=E_123...",[175,176,178],"info",{"title":177},"Technical Info",[14,179,180,181,184],{},"Click IDs are typically stored in a ",[95,182,183],{},"first-party cookie"," for 30-90 days (depending on the platform), so conversions are still tracked even if the purchase happens days after the ad click.",[14,186,187,188,52],{},"URL setup to ensure Click IDs appear automatically can be learned in the ",[189,190,192],"a",{"href":191},"\u002Fen\u002Fdocs\u002Ftracking\u002Futm-parameters","UTM Parameters Guide",[54,194,196],{"id":195},"_2-user-data-quality-matching","2. User Data Quality Matching",[14,198,199,200,203],{},"Sometimes Click IDs are lost (e.g., user changes browsers or clears cookies). This is where ",[21,201,202],{},"Customer Data"," serves as a powerful backup method.",[14,205,206,207,52],{},"Konektor sends secured (hashed) user details to be matched against the ad platform's database. The more complete the data, the higher the ",[21,208,209],{},"Match Quality Score",[14,211,212],{},[21,213,214],{},"High Priority Data:",[216,217,218,227],"ul",{},[76,219,220,223,224],{},[21,221,222],{},"Email",": ",[141,225,226],{},"user@example.com",[76,228,229,223,232],{},[21,230,231],{},"Phone",[141,233,234],{},"62812345678",[14,236,237],{},[21,238,239],{},"Supporting Data:",[216,241,242,245,248],{},[76,243,244],{},"First & Last Name",[76,246,247],{},"City, Province, Zip Code",[76,249,250],{},"IP Address & Browser User Agent",[252,253,255],"warning",{"title":254},"Privacy Security (Hashing)",[14,256,257,258,261,262,265],{},"Konektor automatically performs ",[21,259,260],{},"Hashing (SHA-256)"," on sensitive data like Email and Phone Numbers before sending them to ad platforms (except for Google Enhanced Conversions which requests specific hashing). This means your raw customer data can ",[21,263,264],{},"never"," be read by third parties, only \"matched\".",[37,267,269],{"id":268},"the-smart-way-auto-feedback-conversion","The Smart Way: Auto Feedback Conversion",[14,271,272,273,275],{},"Before you decide to manually import data (upload files), Konektor has an ",[21,274,31],{}," feature that is much more efficient.",[14,277,278,279,282],{},"This feature allows you to send offline conversion data ",[21,280,281],{},"automatically"," just by changing the lead status in the Konektor dashboard.",[54,284,286],{"id":285},"why-auto-feedback-is-better","Why Auto Feedback is Better?",[216,288,289,295,301],{},[76,290,291,294],{},[21,292,293],{},"Real-time",": Conversions are sent the second you change the lead status (e.g., from \"Follow Up\" to \"Purchase\").",[76,296,297,300],{},[21,298,299],{},"High Accuracy",": The system automatically uses the Click ID and user data recorded when the lead first entered.",[76,302,303,306],{},[21,304,305],{},"No CSV Files",": No need to hassle with recapping Excel data and uploading repeatedly.",[54,308,310],{"id":309},"how-to-enable","How to Enable:",[73,312,313,320,323,330,333],{},[76,314,315,316,319],{},"Open the ",[21,317,318],{},"Leads"," menu in your dashboard.",[76,321,322],{},"Click on a lead that has successfully closed.",[76,324,325,326,329],{},"Change its status (e.g., to ",[141,327,328],{},"won"," \u002F Purchase).",[76,331,332],{},"A conversion value confirmation popup will appear (if enabled).",[76,334,335],{},"Done! Data is instantly sent to Meta\u002FGoogle\u002FTikTok right then and there.",[337,338,340],"tip",{"title":339},"Top Recommendation",[14,341,342,343,346,347,350],{},"Use the ",[21,344,345],{},"Offline Import (CSV)"," feature below ONLY if you have old historical data or data from an external POS system not yet connected to Konektor. For daily operations, use ",[21,348,349],{},"Auto Feedback Conversion"," via the Leads menu.",[37,352,354],{"id":353},"offline-data-import-feature-manual","Offline Data Import Feature (Manual)",[14,356,357,358,361],{},"If you ",[21,359,360],{},"cannot"," use Auto Feedback (for example, because sales data comes from a physical store cashier not yet integrated), you can still use the manual CSV Import feature.",[14,363,364],{},"This feature allows you to upload manual sales data to Konektor to be forwarded to Ad Platforms.",[54,366,368],{"id":367},"how-offline-import-works","How Offline Import Works",[73,370,371,374,377],{},[76,372,373],{},"You have sales data (Excel\u002FCSV) containing Customer Email\u002FPhone.",[76,375,376],{},"You upload that file to the Konektor dashboard.",[76,378,379,380,383],{},"Konektor searches: ",[95,381,382],{},"\"Has this Email\u002FPhone visited the website before and does it have a Click ID?\"",[216,384,385,391],{},[76,386,387,390],{},[21,388,389],{},"If Yes (Match)",": Konektor sends Conversion + Click ID + User Data (High Quality).",[76,392,393,396],{},[21,394,395],{},"If No",": Konektor sends Conversion + User Data only (to be matched by the ad platform).",[54,398,400],{"id":399},"import-data-format","Import Data Format",[14,402,403],{},"To use this feature, prepare a CSV file with the following format:",[106,405,406,419],{},[109,407,408],{},[112,409,410,413,416],{},[115,411,412],{},"Column",[115,414,415],{},"Required?",[115,417,418],{},"Description",[125,420,421,437,451,464,476,488],{},[112,422,423,428,434],{},[130,424,425],{},[141,426,427],{},"phone",[130,429,430,433],{},[21,431,432],{},"Yes","*",[130,435,436],{},"International format (62812...). Required if email is empty.",[112,438,439,444,448],{},[130,440,441],{},[141,442,443],{},"email",[130,445,446,433],{},[21,447,432],{},[130,449,450],{},"Customer email. Required if phone is empty.",[112,452,453,458,461],{},[130,454,455],{},[141,456,457],{},"value",[130,459,460],{},"No",[130,462,463],{},"Transaction value (e.g., 150000).",[112,465,466,471,473],{},[130,467,468],{},[141,469,470],{},"currency",[130,472,460],{},[130,474,475],{},"Currency code (IDR, USD). Default: IDR.",[112,477,478,483,485],{},[130,479,480],{},[141,481,482],{},"event_time",[130,484,432],{},[130,486,487],{},"Event time (YYYY-MM-DD HH:mm:ss).",[112,489,490,495,497],{},[130,491,492],{},[141,493,494],{},"event_name",[130,496,460],{},[130,498,499],{},"Event name (Purchase, Lead, etc). Default: Purchase.",[14,501,502,503],{},"* ",[95,504,505],{},"At least one of Phone or Email must be present.",[62,507,509],{"id":508},"csv-example","CSV Example",[511,512,517],"pre",{"className":513,"code":514,"language":515,"meta":516,"style":516},"language-csv shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","phone,email,value,currency,event_time,event_name\n62812345678,budi@example.com,150000,IDR,2026-01-22 10:30:00,Purchase\n62898765432,,2500000,IDR,2026-01-22 14:15:00,Lead\n","csv","",[141,518,519,527,533],{"__ignoreMap":516},[520,521,524],"span",{"class":522,"line":523},"line",1,[520,525,526],{},"phone,email,value,currency,event_time,event_name\n",[520,528,530],{"class":522,"line":529},2,[520,531,532],{},"62812345678,budi@example.com,150000,IDR,2026-01-22 10:30:00,Purchase\n",[520,534,536],{"class":522,"line":535},3,[520,537,538],{},"62898765432,,2500000,IDR,2026-01-22 14:15:00,Lead\n",[54,540,542],{"id":541},"import-steps-in-dashboard","Import Steps in Dashboard",[73,544,545,554,560,563,568],{},[76,546,547,548,551,552,52],{},"Go to ",[21,549,550],{},"Conversions"," > ",[21,553,34],{},[76,555,556,557,52],{},"Click ",[21,558,559],{},"Upload CSV",[76,561,562],{},"Select your file and map columns if column names differ.",[76,564,556,565,52],{},[21,566,567],{},"Process",[76,569,570,571,574],{},"Check status in ",[21,572,573],{},"Sync Logs"," to see if data was successfully sent to Meta\u002FGoogle\u002FTikTok.",[37,576,578],{"id":577},"troubleshooting-matching","Troubleshooting Matching",[14,580,581],{},"If you see \"Low Match Quality\" status or conversions not counting on ad platforms:",[73,583,584,590,596],{},[76,585,586,589],{},[21,587,588],{},"Check Phone Format",": Always ensure country codes are used (62, not 08).",[76,591,592,595],{},[21,593,594],{},"Send Quickly",": Ad platforms prioritize recent data. Try to upload transaction data within 24-48 hours of occurrence.",[76,597,598,601],{},[21,599,600],{},"Complete Data",": If possible, always include BOTH Email AND Phone Number for highest accuracy.",[337,603,605],{"title":604},"Automation",[14,606,607,608,612,613,617],{},"Do you do manual imports often? Consider using ",[189,609,611],{"href":610},"\u002Fen\u002Fdocs\u002Fapi\u002Foverview","API Integration"," or ",[189,614,616],{"href":615},"\u002Fen\u002Fdocs\u002Fapi\u002Fwebhooks","Webhooks"," to send offline data automatically from your POS or CRM system.",[37,619,621],{"id":620},"next-steps","Next Steps",[216,623,624,630,637],{},[76,625,626,629],{},[189,627,628],{"href":191},"Setup UTM Parameters"," so Click IDs are captured perfectly.",[76,631,632,636],{},[189,633,635],{"href":634},"\u002Fen\u002Fdocs\u002Fconversions","View Conversion Dashboard"," to monitor data delivery results.",[76,638,639,643],{},[189,640,642],{"href":641},"\u002Fen\u002Fdocs\u002Fpixel-deduplication","Deduplication Guide"," to understand how to prevent double data.",[645,646,647],"style",{},"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);}",{"title":516,"searchDepth":529,"depth":529,"links":649},[650,654,658,663,664],{"id":39,"depth":529,"text":40,"children":651},[652,653],{"id":56,"depth":535,"text":57},{"id":195,"depth":535,"text":196},{"id":268,"depth":529,"text":269,"children":655},[656,657],{"id":285,"depth":535,"text":286},{"id":309,"depth":535,"text":310},{"id":353,"depth":529,"text":354,"children":659},[660,661,662],{"id":367,"depth":535,"text":368},{"id":399,"depth":535,"text":400},{"id":541,"depth":535,"text":542},{"id":577,"depth":529,"text":578},{"id":620,"depth":529,"text":621},"features",null,"How ad tracking, Click IDs, and Customer Data Matching work to improve conversion accuracy on Meta, Google, and TikTok.","md",{},4,"\u002Fen\u002Fdocs\u002Foffline-import",{"keywords":673,"canonical":671,"title":5,"description":667},[674,675,676,677,678,679,680,681],"offline conversion","click id","gclid","fbclid","customer matching","ad attribution","data import","auto feedback",{"loc":671,"lastmod":683},"2026-01-24","en\u002Fdocs\u002Foffline-import",[686,687,688,689],"offline-data","click-id","attribution","customer-match",true,"UsL_Jf8uv9J86Hgr-bJjx3eKqComWV_PLgtUx2WLUak"]