[{"data":1,"prerenderedAt":844},["ShallowReactive",2],{"navigation_docs_en":3,"-en-advertiser-api-conversions":131,"-en-advertiser-api-conversions-surround":839},[4,18,47,60,69,102,127],{"title":5,"path":6,"stem":7,"children":8,"page":17},"Getting Started","\u002Fen\u002Fgetting-started","en\u002F1.getting-started",[9,13],{"title":10,"path":11,"stem":12},"Installation","\u002Fen\u002Fgetting-started\u002Finstallation","en\u002F1.getting-started\u002F1.installation",{"title":14,"path":15,"stem":16},"Configuration","\u002Fen\u002Fgetting-started\u002Fconfiguration","en\u002F1.getting-started\u002F2.configuration",false,{"title":19,"path":20,"stem":21,"children":22,"page":17},"Features","\u002Fen\u002Ffeatures","en\u002F2.features",[23,27,31,35,39,43],{"title":24,"path":25,"stem":26},"Page View Tracking","\u002Fen\u002Ffeatures\u002Fpageview-tracking","en\u002F2.features\u002F1.pageview-tracking",{"title":28,"path":29,"stem":30},"Conversion Tracking","\u002Fen\u002Ffeatures\u002Fconversion-tracking","en\u002F2.features\u002F2.conversion-tracking",{"title":32,"path":33,"stem":34},"SPA Support","\u002Fen\u002Ffeatures\u002Fspa-support","en\u002F2.features\u002F3.spa-support",{"title":36,"path":37,"stem":38},"React & Next.js","\u002Fen\u002Ffeatures\u002Freact-integration","en\u002F2.features\u002F4.react-integration",{"title":40,"path":41,"stem":42},"Vue & Nuxt","\u002Fen\u002Ffeatures\u002Fvue-integration","en\u002F2.features\u002F5.vue-integration",{"title":44,"path":45,"stem":46},"Google Tag Manager","\u002Fen\u002Ffeatures\u002Fgtm-integration","en\u002F2.features\u002F6.gtm-integration",{"title":48,"path":49,"stem":50,"children":51,"page":17},"Api","\u002Fen\u002Fapi","en\u002F3.api",[52,56],{"title":53,"path":54,"stem":55},"API Reference","\u002Fen\u002Fapi\u002Freference","en\u002F3.api\u002F1.reference",{"title":57,"path":58,"stem":59},"Events Reference","\u002Fen\u002Fapi\u002Fevents-reference","en\u002F3.api\u002F2.events-reference",{"title":61,"path":62,"stem":63,"children":64,"page":17},"Privacy","\u002Fen\u002Fprivacy","en\u002F4.privacy",[65],{"title":66,"path":67,"stem":68},"Data Collection & Privacy","\u002Fen\u002Fprivacy\u002Fdata-collection","en\u002F4.privacy\u002F1.data-collection",{"title":70,"path":71,"stem":72,"children":73,"page":17},"Chat SDK","\u002Fen\u002Fchat-sdk","en\u002F5.chat-sdk",[74,78,82,86,90,94,98],{"title":75,"path":76,"stem":77},"Chat SDK Getting Started","\u002Fen\u002Fchat-sdk\u002Fgetting-started","en\u002F5.chat-sdk\u002F1.getting-started",{"title":79,"path":80,"stem":81},"Vue Non-chat Integration","\u002Fen\u002Fchat-sdk\u002Fvue-non-chat","en\u002F5.chat-sdk\u002F2.vue-non-chat",{"title":83,"path":84,"stem":85},"React Integration","\u002Fen\u002Fchat-sdk\u002Freact-integration","en\u002F5.chat-sdk\u002F3.react-integration",{"title":87,"path":88,"stem":89},"AI SDK Middleware","\u002Fen\u002Fchat-sdk\u002Fai-sdk-middleware","en\u002F5.chat-sdk\u002F4.ai-sdk-middleware",{"title":91,"path":92,"stem":93},"Ad Formats","\u002Fen\u002Fchat-sdk\u002Fad-formats","en\u002F5.chat-sdk\u002F5.ad-formats",{"title":95,"path":96,"stem":97},"Tracking and Attribution","\u002Fen\u002Fchat-sdk\u002Ftracking-and-attribution","en\u002F5.chat-sdk\u002F6.tracking-and-attribution",{"title":99,"path":100,"stem":101},"Troubleshooting","\u002Fen\u002Fchat-sdk\u002Ftroubleshooting","en\u002F5.chat-sdk\u002F7.troubleshooting",{"title":103,"path":104,"stem":105,"children":106,"page":17},"Advertiser API","\u002Fen\u002Fadvertiser-api","en\u002F6.advertiser-api",[107,111,115,119,123],{"title":108,"path":109,"stem":110},"Overview","\u002Fen\u002Fadvertiser-api\u002Foverview","en\u002F6.advertiser-api\u002F1.overview",{"title":112,"path":113,"stem":114},"Read","\u002Fen\u002Fadvertiser-api\u002Fread","en\u002F6.advertiser-api\u002F2.read",{"title":116,"path":117,"stem":118},"Write","\u002Fen\u002Fadvertiser-api\u002Fwrite","en\u002F6.advertiser-api\u002F3.write",{"title":120,"path":121,"stem":122},"Conversions API","\u002Fen\u002Fadvertiser-api\u002Fconversions","en\u002F6.advertiser-api\u002F4.conversions",{"title":124,"path":125,"stem":126},"MCP server","\u002Fen\u002Fadvertiser-api\u002Fmcp","en\u002F6.advertiser-api\u002F5.mcp",{"title":128,"path":129,"stem":130},"Start Here","\u002Fen\u002Fstart-here","en\u002Fstart-here",{"id":132,"title":120,"body":133,"description":832,"extension":833,"links":834,"meta":835,"navigation":836,"path":121,"seo":837,"stem":122,"__hash__":838},"docs_en\u002Fen\u002F6.advertiser-api\u002F4.conversions.md",{"type":134,"value":135,"toc":826},"minimark",[136,140,163,169,174,184,198,338,347,395,399,543,557,561,566,569,653,671,675,681,784,798,822],[137,138,120],"h1",{"id":139},"conversions-api",[141,142,143,144,149,150,154,155,158,159,162],"p",{},"Use this endpoint when the conversion happens on your server. The browser pixel is the other path: ",[145,146,148],"a",{"href":147},"\u002Ffeatures\u002Fconversion-tracking","Conversion tracking"," records ",[151,152,153],"code",{},"PageView"," and ",[151,156,157],{},"Conversion"," in the page, stores the click for 30 days, and can send the same ",[151,160,161],{},"event_id",".",[141,164,165,166,168],{},"Both paths call the same ingestion. Send the same ",[151,167,161],{}," from the pixel and from the server to store one row for one order.",[170,171,173],"h2",{"id":172},"endpoint","Endpoint",[175,176,182],"pre",{"className":177,"code":179,"language":180,"meta":181},[178],"language-text","POST https:\u002F\u002Ftyfrhxfejrawgdlhryfu.supabase.co\u002Ffunctions\u002Fv1\u002Fconversions-api\n","text","",[151,183,179],{"__ignoreMap":181},[141,185,186,187,190,191,154,194,197],{},"The key needs the ",[151,188,189],{},"conversions"," scope. ",[151,192,193],{},"read",[151,195,196],{},"write"," do not authorize this call. This endpoint does not use the Advertiser API's 120 requests per minute.",[175,199,203],{"className":200,"code":201,"language":202,"meta":181,"style":181},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -X POST 'https:\u002F\u002Ftyfrhxfejrawgdlhryfu.supabase.co\u002Ffunctions\u002Fv1\u002Fconversions-api' \\\n  -H 'Authorization: Bearer idl_adv_xxx' \\\n  -H 'Content-Type: application\u002Fjson' \\\n  -d '{\n    \"event_name\": \"Purchase\",\n    \"value\": 49.00,\n    \"currency\": \"EUR\",\n    \"click_id\": \"CAMPAIGN_OR_CLICK_UUID\",\n    \"clicked_at\": \"2026-11-01T12:00:00Z\",\n    \"ad_id\": \"AD_UUID\",\n    \"email_sha256\": \"SHA256_OF_NORMALIZED_EMAIL\",\n    \"event_id\": \"order-1001\",\n    \"timestamp\": \"2026-11-04T08:00:00Z\"\n  }'\n","bash",[151,204,205,235,250,264,275,281,287,293,299,305,311,317,323,329],{"__ignoreMap":181},[206,207,210,214,218,221,225,228,231],"span",{"class":208,"line":209},"line",1,[206,211,213],{"class":212},"sBMFI","curl",[206,215,217],{"class":216},"sfazB"," -X",[206,219,220],{"class":216}," POST",[206,222,224],{"class":223},"sMK4o"," '",[206,226,227],{"class":216},"https:\u002F\u002Ftyfrhxfejrawgdlhryfu.supabase.co\u002Ffunctions\u002Fv1\u002Fconversions-api",[206,229,230],{"class":223},"'",[206,232,234],{"class":233},"sTEyZ"," \\\n",[206,236,238,241,243,246,248],{"class":208,"line":237},2,[206,239,240],{"class":216},"  -H",[206,242,224],{"class":223},[206,244,245],{"class":216},"Authorization: Bearer idl_adv_xxx",[206,247,230],{"class":223},[206,249,234],{"class":233},[206,251,253,255,257,260,262],{"class":208,"line":252},3,[206,254,240],{"class":216},[206,256,224],{"class":223},[206,258,259],{"class":216},"Content-Type: application\u002Fjson",[206,261,230],{"class":223},[206,263,234],{"class":233},[206,265,267,270,272],{"class":208,"line":266},4,[206,268,269],{"class":216},"  -d",[206,271,224],{"class":223},[206,273,274],{"class":216},"{\n",[206,276,278],{"class":208,"line":277},5,[206,279,280],{"class":216},"    \"event_name\": \"Purchase\",\n",[206,282,284],{"class":208,"line":283},6,[206,285,286],{"class":216},"    \"value\": 49.00,\n",[206,288,290],{"class":208,"line":289},7,[206,291,292],{"class":216},"    \"currency\": \"EUR\",\n",[206,294,296],{"class":208,"line":295},8,[206,297,298],{"class":216},"    \"click_id\": \"CAMPAIGN_OR_CLICK_UUID\",\n",[206,300,302],{"class":208,"line":301},9,[206,303,304],{"class":216},"    \"clicked_at\": \"2026-11-01T12:00:00Z\",\n",[206,306,308],{"class":208,"line":307},10,[206,309,310],{"class":216},"    \"ad_id\": \"AD_UUID\",\n",[206,312,314],{"class":208,"line":313},11,[206,315,316],{"class":216},"    \"email_sha256\": \"SHA256_OF_NORMALIZED_EMAIL\",\n",[206,318,320],{"class":208,"line":319},12,[206,321,322],{"class":216},"    \"event_id\": \"order-1001\",\n",[206,324,326],{"class":208,"line":325},13,[206,327,328],{"class":216},"    \"timestamp\": \"2026-11-04T08:00:00Z\"\n",[206,330,332,335],{"class":208,"line":331},14,[206,333,334],{"class":216},"  }",[206,336,337],{"class":223},"'\n",[141,339,340,154,343,346],{},[151,341,342],{},"Authorization: Bearer",[151,344,345],{},"x-api-key"," both work. The organization is taken from the key.",[141,348,349,350,353,354,357,358,353,361,357,364,353,367,357,370,353,372,357,375,353,378,357,381,353,384,387,388,353,391,394],{},"Snake case and camel case are both accepted: ",[151,351,352],{},"event_name"," or ",[151,355,356],{},"eventName",", ",[151,359,360],{},"click_id",[151,362,363],{},"clickId",[151,365,366],{},"ad_id",[151,368,369],{},"adId",[151,371,161],{},[151,373,374],{},"eventId",[151,376,377],{},"email_sha256",[151,379,380],{},"emailSha256",[151,382,383],{},"clicked_at",[151,385,386],{},"clickedAt",". ",[151,389,390],{},"timestamp",[151,392,393],{},"event_time"," sets the event time.",[170,396,398],{"id":397},"body","Body",[400,401,402,418],"table",{},[403,404,405],"thead",{},[406,407,408,412,415],"tr",{},[409,410,411],"th",{},"Field",[409,413,414],{},"Required",[409,416,417],{},"Rule",[419,420,421,434,450,462,481,495,506,517,532],"tbody",{},[406,422,423,428,431],{},[424,425,426],"td",{},[151,427,352],{},[424,429,430],{},"Yes",[424,432,433],{},"Non-empty. The server call is strict",[406,435,436,441,444],{},[424,437,438],{},[151,439,440],{},"value",[424,442,443],{},"No",[424,445,446,447],{},"Number. A non-number is ",[151,448,449],{},"400",[406,451,452,457,459],{},[424,453,454],{},[151,455,456],{},"currency",[424,458,443],{},[424,460,461],{},"Three letters, stored uppercased",[406,463,464,468,470],{},[424,465,466],{},[151,467,360],{},[424,469,443],{},[424,471,472,473,476,477,480],{},"UUID. Either ",[151,474,475],{},"clicks.id"," or the pixel's ",[151,478,479],{},"idlen_cid"," (the campaign id)",[406,482,483,487,489],{},[424,484,485],{},[151,486,383],{},[424,488,443],{},[424,490,491,492,494],{},"When the click happened. Used when ",[151,493,360],{}," is a campaign id",[406,496,497,501,503],{},[424,498,499],{},[151,500,366],{},[424,502,443],{},[424,504,505],{},"UUID of an ad in this organization",[406,507,508,512,514],{},[424,509,510],{},[151,511,377],{},[424,513,443],{},[424,515,516],{},"Lowercase hex SHA-256 of the normalized email, 64 characters",[406,518,519,523,525],{},[424,520,521],{},[151,522,161],{},[424,524,443],{},[424,526,527,528,531],{},"1–128 characters, ",[151,529,530],{},"[A-Za-z0-9_.:-]",". Dedupes with the pixel",[406,533,534,538,540],{},[424,535,536],{},[151,537,390],{},[424,539,443],{},[424,541,542],{},"Event time. A time more than 5 minutes in the future is stored as now",[141,544,545,547,548,550,551,553,554,556],{},[151,546,352],{}," is required. ",[151,549,377],{}," must be a lowercase hex SHA-256. ",[151,552,161],{}," must match the pattern above. Invalid currency is ",[151,555,449],{},". Those checks are strict on this endpoint.",[170,558,560],{"id":559},"attribution","Attribution",[141,562,563,565],{},[151,564,360],{}," is matched to a click in this organization, or to a campaign id in this organization. A known click older than 30 days is dropped, the same window as the pixel cookie. A server event with no click time is stored and not attributed.",[141,567,568],{},"The response:",[175,570,574],{"className":571,"code":572,"language":573,"meta":181,"style":181},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"success\": true,\n  \"id\": \"EVENT_UUID\",\n  \"deduplicated\": false,\n  \"attributed\": true\n}\n","json",[151,575,576,580,598,620,634,648],{"__ignoreMap":181},[206,577,578],{"class":208,"line":209},[206,579,274],{"class":223},[206,581,582,585,589,592,595],{"class":208,"line":237},[206,583,584],{"class":223},"  \"",[206,586,588],{"class":587},"spNyl","success",[206,590,591],{"class":223},"\"",[206,593,594],{"class":223},":",[206,596,597],{"class":223}," true,\n",[206,599,600,602,605,607,609,612,615,617],{"class":208,"line":252},[206,601,584],{"class":223},[206,603,604],{"class":587},"id",[206,606,591],{"class":223},[206,608,594],{"class":223},[206,610,611],{"class":223}," \"",[206,613,614],{"class":216},"EVENT_UUID",[206,616,591],{"class":223},[206,618,619],{"class":223},",\n",[206,621,622,624,627,629,631],{"class":208,"line":266},[206,623,584],{"class":223},[206,625,626],{"class":587},"deduplicated",[206,628,591],{"class":223},[206,630,594],{"class":223},[206,632,633],{"class":223}," false,\n",[206,635,636,638,641,643,645],{"class":208,"line":277},[206,637,584],{"class":223},[206,639,640],{"class":587},"attributed",[206,642,591],{"class":223},[206,644,594],{"class":223},[206,646,647],{"class":223}," true\n",[206,649,650],{"class":208,"line":283},[206,651,652],{"class":223},"}\n",[141,654,655,657,658,661,662,664,665,667,668,162],{},[151,656,626],{}," is ",[151,659,660],{},"true"," when this ",[151,663,161],{}," was already stored for the organization. ",[151,666,604],{}," is the stored row, or ",[151,669,670],{},"null",[170,672,674],{"id":673},"errors","Errors",[141,676,677,678,162],{},"This endpoint does not use the Advertiser API error object. Failures are ",[151,679,680],{},"{ \"error\": \"message\" }",[400,682,683,695],{},[403,684,685],{},[406,686,687,690],{},[409,688,689],{},"Status",[409,691,692],{},[151,693,694],{},"error",[419,696,697,723,742,759,772],{},[406,698,699,703],{},[424,700,701],{},[151,702,449],{},[424,704,705,357,708,357,711,357,714,357,717,357,720],{},[151,706,707],{},"Invalid JSON body",[151,709,710],{},"value must be a number",[151,712,713],{},"event_name is required",[151,715,716],{},"Invalid event_id",[151,718,719],{},"email_sha256 must be a lowercase hex SHA-256",[151,721,722],{},"Invalid currency",[406,724,725,730],{},[424,726,727],{},[151,728,729],{},"401",[424,731,732,357,735,738,739],{},[151,733,734],{},"Missing API key",[151,736,737],{},"Invalid API key",", or ",[151,740,741],{},"Auth failed",[406,743,744,749],{},[424,745,746],{},[151,747,748],{},"405",[424,750,751,754,755,758],{},[151,752,753],{},"Method not allowed"," (only ",[151,756,757],{},"POST",")",[406,760,761,766],{},[424,762,763],{},[151,764,765],{},"500",[424,767,768,771],{},[151,769,770],{},"Server configuration error",", or the ingest error when it is not a client error",[406,773,774,779],{},[424,775,776],{},[151,777,778],{},"503",[424,780,781],{},[151,782,783],{},"Conversions API is not deployed yet",[141,785,786,787,789,790,793,794,797],{},"Only ",[151,788,757],{}," is accepted. ",[151,791,792],{},"OPTIONS"," returns ",[151,795,796],{},"200"," for browser preflight.",[141,799,800,801,805,806,808,809,154,811,813,814,818,819,162],{},"Create the key in Ads Manager under ",[802,803,804],"strong",{},"Settings → API keys",", with the ",[151,807,189],{}," scope. The same key can also have ",[151,810,193],{},[151,812,196],{}," if you call ",[145,815,817],{"href":816},"\u002Fadvertiser-api\u002Foverview","the Advertiser API"," and the ",[145,820,124],{"href":821},"\u002Fadvertiser-api\u002Fmcp",[823,824,825],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"title":181,"searchDepth":237,"depth":237,"links":827},[828,829,830,831],{"id":172,"depth":237,"text":173},{"id":397,"depth":237,"text":398},{"id":559,"depth":237,"text":560},{"id":673,"depth":237,"text":674},"Record a conversion from your server with an advertiser API key","md",null,{},true,{"title":120,"description":832},"zqeGnUrMu_93dmBr_2st2PA4uuCVADmB4hjREEuDCuk",[840,842],{"title":116,"path":117,"stem":118,"description":841,"children":-1},"Create and update campaigns and ads, and open a deposit Checkout link",{"title":124,"path":125,"stem":126,"description":843,"children":-1},"Streamable HTTP MCP server for the Advertiser API, with 14 tools",1793804440449]