[{"data":1,"prerenderedAt":787},["ShallowReactive",2],{"blog-facebook-pixel-setup-guide-en":3},{"id":4,"title":5,"excerpt":6,"content":7,"coverImage":729,"meta":737,"site":741,"status":762,"slug":763,"author":764,"category":774,"publishDate":19,"featured":95,"updatedAt":782,"createdAt":783,"contentHtml":784,"previewUrl":785,"localeSlugs":786},541,"Facebook Pixel Setup Guide (2026): Install, Verify and Fix Common Errors","A complete Facebook Pixel setup guide for 2026: the three installation paths, why you should pair the pixel with the Conversions API, which standard events to configure, how to verify events actually arrive, and the seven mistakes that quietly cost you conversion data.",{"root":8},{"children":9,"direction":19,"format":15,"indent":13,"type":728,"version":18},[10,21,25,31,40,44,70,74,78,82,108,112,116,121,125,129,133,175,183,193,197,201,236,243,247,251,255,284,288,292,300,304,308,312,316,517,527,534,538,546,550,554,558,578,582,586,647,651,655,659,667,673,679,685,691,695,707,711,715],{"children":11,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[12],{"detail":13,"format":13,"mode":14,"style":15,"text":16,"type":17,"version":18},0,"normal","","Most guides to installing a tracking pixel are written as if it were 2019: paste a snippet in the header, see a green dot, done. That version still technically works, but it now covers maybe half of what determines whether your conversion data is usable. Browser-side collection loses a meaningful share of events to tracking prevention and ad blockers, and the setup that performs is the one that pairs the browser pixel with a server-side feed and gets the identity parameters right.","text",1,null,"paragraph",{"children":22,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[23],{"detail":13,"format":13,"mode":14,"style":15,"text":24,"type":17,"version":18},"This guide covers the full Facebook Pixel setup: what the pixel is in 2026, the three installation paths, how to verify it actually fires, which events to configure, and the mistakes that quietly cost you conversion data.",{"children":26,"direction":19,"format":15,"indent":13,"type":29,"version":18,"tag":30},[27],{"detail":13,"format":13,"mode":14,"style":15,"text":28,"type":17,"version":18},"What the Facebook Pixel is now","heading","h2",{"children":32,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[33,35,38],{"detail":13,"format":13,"mode":14,"style":15,"text":34,"type":17,"version":18},"The Facebook Pixel is a JavaScript snippet that runs on your site and reports visitor actions back to Meta. Meta has been folding it into a broader container it calls a dataset, and the Events Manager interface increasingly uses that word. Practically, nothing about installation changed: you still have a numeric ID, you still load ",{"detail":13,"format":36,"mode":14,"style":15,"text":37,"type":17,"version":18},16,"fbevents.js",{"detail":13,"format":13,"mode":14,"style":15,"text":39,"type":17,"version":18},", and you still fire events. When documentation says dataset and your interface says pixel, they refer to the same object.",{"children":41,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[42],{"detail":13,"format":13,"mode":14,"style":15,"text":43,"type":17,"version":18},"What the pixel does for you:",{"children":45,"direction":19,"format":15,"indent":13,"type":67,"version":18,"listType":68,"start":18,"tag":69},[46,53,60],{"children":47,"direction":19,"format":15,"indent":13,"type":52,"version":18,"value":18},[48,50],{"detail":13,"format":18,"mode":14,"style":15,"text":49,"type":17,"version":18},"Conversion measurement.",{"detail":13,"format":13,"mode":14,"style":15,"text":51,"type":17,"version":18}," Attributes purchases, sign-ups, and other actions to the ads that drove them.","listitem",{"children":54,"direction":19,"format":15,"indent":13,"type":52,"version":18,"value":59},[55,57],{"detail":13,"format":18,"mode":14,"style":15,"text":56,"type":17,"version":18},"Optimization.",{"detail":13,"format":13,"mode":14,"style":15,"text":58,"type":17,"version":18}," Feeds Meta's delivery system the signal it needs to find people likely to convert. This is the part most advertisers underrate — without conversion events, campaigns optimize toward clicks, which is a much weaker proxy.",2,{"children":61,"direction":19,"format":15,"indent":13,"type":52,"version":18,"value":66},[62,64],{"detail":13,"format":18,"mode":14,"style":15,"text":63,"type":17,"version":18},"Audience building.",{"detail":13,"format":13,"mode":14,"style":15,"text":65,"type":17,"version":18}," Powers retargeting and lookalike audiences.",3,"list","bullet","ul",{"children":71,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[72],{"detail":13,"format":13,"mode":14,"style":15,"text":73,"type":17,"version":18},"The optimization role is why a partial pixel setup is worse than it looks. Missing events do not just create reporting gaps; they degrade the model that decides who sees your ads.",{"children":75,"direction":19,"format":15,"indent":13,"type":29,"version":18,"tag":30},[76],{"detail":13,"format":13,"mode":14,"style":15,"text":77,"type":17,"version":18},"Before you install",{"children":79,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[80],{"detail":13,"format":13,"mode":14,"style":15,"text":81,"type":17,"version":18},"Have these ready:",{"children":83,"direction":19,"format":15,"indent":13,"type":67,"version":18,"listType":68,"start":18,"tag":69},[84,100,104],{"children":85,"direction":19,"format":15,"indent":13,"type":52,"version":18,"value":18},[86,88,98],{"detail":13,"format":13,"mode":14,"style":15,"text":87,"type":17,"version":18},"A Meta Business Manager with an ad account. If you have not set one up, start with our ",{"children":89,"direction":19,"format":15,"indent":13,"type":92,"version":66,"fields":93,"id":97},[90],{"detail":13,"format":13,"mode":14,"style":15,"text":91,"type":17,"version":18},"guide to creating a Facebook Business Manager","link",{"linkType":94,"newTab":95,"url":96},"custom",false,"https://deepclick.com/resources/blog/how-to-create-facebook-business-manager/","6a92a945c14abe00c8dcee6b",{"detail":13,"format":13,"mode":14,"style":15,"text":99,"type":17,"version":18}," — the pixel lives inside the business, not inside a personal profile.",{"children":101,"direction":19,"format":15,"indent":13,"type":52,"version":18,"value":59},[102],{"detail":13,"format":13,"mode":14,"style":15,"text":103,"type":17,"version":18},"Admin access to your website's code or tag manager.",{"children":105,"direction":19,"format":15,"indent":13,"type":52,"version":18,"value":66},[106],{"detail":13,"format":13,"mode":14,"style":15,"text":107,"type":17,"version":18},"Your list of conversion actions, written down before you touch any code. Setups drift when people install first and decide what to measure afterward.",{"children":109,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[110],{"detail":13,"format":13,"mode":14,"style":15,"text":111,"type":17,"version":18},"Get your pixel ID from Events Manager: open Events Manager, select or create a dataset, and the ID is the number shown under its name. Create one pixel per website. Splitting one site across multiple pixels fragments the data your campaigns learn from.",{"children":113,"direction":19,"format":15,"indent":13,"type":29,"version":18,"tag":30},[114],{"detail":13,"format":13,"mode":14,"style":15,"text":115,"type":17,"version":18},"How to set up the Facebook Pixel: three paths",{"children":117,"direction":19,"format":15,"indent":13,"type":29,"version":18,"tag":120},[118],{"detail":13,"format":13,"mode":14,"style":15,"text":119,"type":17,"version":18},"Path 1 — Direct code installation","h3",{"children":122,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[123],{"detail":13,"format":13,"mode":14,"style":15,"text":124,"type":17,"version":18},"Best when you control the site's templates and want no dependencies.",{"children":126,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[127],{"detail":13,"format":13,"mode":14,"style":15,"text":128,"type":17,"version":18},"Events Manager generates the base code for you with your ID already in it — copy it from there rather than retyping it. Paste it into the head section of every page, just before the closing head tag.",{"children":130,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[131],{"detail":13,"format":13,"mode":14,"style":15,"text":132,"type":17,"version":18},"Structurally the snippet does four things:",{"children":134,"direction":19,"format":15,"indent":13,"type":67,"version":18,"listType":68,"start":18,"tag":69},[135,150,158,166],{"children":136,"direction":19,"format":15,"indent":13,"type":52,"version":18,"value":18},[137,139,140,142,144,146,148],{"detail":13,"format":13,"mode":14,"style":15,"text":138,"type":17,"version":18},"Loads ",{"detail":13,"format":36,"mode":14,"style":15,"text":37,"type":17,"version":18},{"detail":13,"format":13,"mode":14,"style":15,"text":141,"type":17,"version":18}," from ",{"detail":13,"format":36,"mode":14,"style":15,"text":143,"type":17,"version":18},"connect.facebook.net",{"detail":13,"format":13,"mode":14,"style":15,"text":145,"type":17,"version":18}," and defines the global ",{"detail":13,"format":36,"mode":14,"style":15,"text":147,"type":17,"version":18},"fbq",{"detail":13,"format":13,"mode":14,"style":15,"text":149,"type":17,"version":18}," function.",{"children":151,"direction":19,"format":15,"indent":13,"type":52,"version":18,"value":59},[152,154,156],{"detail":13,"format":13,"mode":14,"style":15,"text":153,"type":17,"version":18},"Calls ",{"detail":13,"format":36,"mode":14,"style":15,"text":155,"type":17,"version":18},"fbq('init', 'YOUR_PIXEL_ID')",{"detail":13,"format":13,"mode":14,"style":15,"text":157,"type":17,"version":18}," with your numeric dataset ID.",{"children":159,"direction":19,"format":15,"indent":13,"type":52,"version":18,"value":66},[160,162,164],{"detail":13,"format":13,"mode":14,"style":15,"text":161,"type":17,"version":18},"Fires the first event with ",{"detail":13,"format":36,"mode":14,"style":15,"text":163,"type":17,"version":18},"fbq('track', 'PageView')",{"detail":13,"format":13,"mode":14,"style":15,"text":165,"type":17,"version":18},".",{"children":167,"direction":19,"format":15,"indent":13,"type":52,"version":18,"value":174},[168,170,172],{"detail":13,"format":13,"mode":14,"style":15,"text":169,"type":17,"version":18},"Adds a no-script fallback image pointing at ",{"detail":13,"format":36,"mode":14,"style":15,"text":171,"type":17,"version":18},"facebook.com/tr",{"detail":13,"format":13,"mode":14,"style":15,"text":173,"type":17,"version":18}," so visitors with JavaScript disabled still register a page view.",4,{"children":176,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[177,179,181],{"detail":13,"format":13,"mode":14,"style":15,"text":178,"type":17,"version":18},"The base code fires ",{"detail":13,"format":36,"mode":14,"style":15,"text":180,"type":17,"version":18},"PageView",{"detail":13,"format":13,"mode":14,"style":15,"text":182,"type":17,"version":18}," on every page; conversion events go on top of it.",{"children":184,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[185,187,188,190,191],{"detail":13,"format":13,"mode":14,"style":15,"text":186,"type":17,"version":18},"For a single-page application, the base code fires ",{"detail":13,"format":36,"mode":14,"style":15,"text":180,"type":17,"version":18},{"detail":13,"format":13,"mode":14,"style":15,"text":189,"type":17,"version":18}," once on first load and will not fire again on client-side route changes. Call ",{"detail":13,"format":36,"mode":14,"style":15,"text":163,"type":17,"version":18},{"detail":13,"format":13,"mode":14,"style":15,"text":192,"type":17,"version":18}," yourself in your router's navigation hook, otherwise every page after the entry point is invisible.",{"children":194,"direction":19,"format":15,"indent":13,"type":29,"version":18,"tag":120},[195],{"detail":13,"format":13,"mode":14,"style":15,"text":196,"type":17,"version":18},"Path 2 — Google Tag Manager",{"children":198,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[199],{"detail":13,"format":13,"mode":14,"style":15,"text":200,"type":17,"version":18},"Best when a marketing team needs to add events without shipping code.",{"children":202,"direction":19,"format":15,"indent":13,"type":67,"version":18,"listType":234,"start":18,"tag":235},[203,211,218,226],{"children":204,"direction":19,"format":15,"indent":13,"type":52,"version":18,"value":18},[205,207,209],{"detail":13,"format":13,"mode":14,"style":15,"text":206,"type":17,"version":18},"In GTM, create a ",{"detail":13,"format":18,"mode":14,"style":15,"text":208,"type":17,"version":18},"Custom HTML",{"detail":13,"format":13,"mode":14,"style":15,"text":210,"type":17,"version":18}," tag containing the base code.",{"children":212,"direction":19,"format":15,"indent":13,"type":52,"version":18,"value":59},[213,215,217],{"detail":13,"format":13,"mode":14,"style":15,"text":214,"type":17,"version":18},"Set the trigger to ",{"detail":13,"format":18,"mode":14,"style":15,"text":216,"type":17,"version":18},"All Pages",{"detail":13,"format":13,"mode":14,"style":15,"text":165,"type":17,"version":18},{"children":219,"direction":19,"format":15,"indent":13,"type":52,"version":18,"value":66},[220,222,224],{"detail":13,"format":13,"mode":14,"style":15,"text":221,"type":17,"version":18},"For each conversion, create another Custom HTML tag with just the event call — ",{"detail":13,"format":36,"mode":14,"style":15,"text":223,"type":17,"version":18},"fbq('track', 'Purchase', {value: 29.99, currency: 'USD'});",{"detail":13,"format":13,"mode":14,"style":15,"text":225,"type":17,"version":18}," — and trigger it on the relevant event or page.",{"children":227,"direction":19,"format":15,"indent":13,"type":52,"version":18,"value":174},[228,230,232],{"detail":13,"format":13,"mode":14,"style":15,"text":229,"type":17,"version":18},"Use ",{"detail":13,"format":18,"mode":14,"style":15,"text":231,"type":17,"version":18},"Preview",{"detail":13,"format":13,"mode":14,"style":15,"text":233,"type":17,"version":18}," mode to confirm firing before you publish. GTM containers are published atomically; an untested tag goes live for everyone at once.","number","ol",{"children":237,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[238,240,241],{"detail":13,"format":13,"mode":14,"style":15,"text":239,"type":17,"version":18},"One caution: sequencing. The base code must run before any event tag. If an event tag fires on a trigger that can beat the All Pages tag, the event is dropped because ",{"detail":13,"format":36,"mode":14,"style":15,"text":147,"type":17,"version":18},{"detail":13,"format":13,"mode":14,"style":15,"text":242,"type":17,"version":18}," is not defined yet. Tag sequencing in GTM's advanced settings solves this — set the base tag as a setup tag on each event tag.",{"children":244,"direction":19,"format":15,"indent":13,"type":29,"version":18,"tag":120},[245],{"detail":13,"format":13,"mode":14,"style":15,"text":246,"type":17,"version":18},"Path 3 — Platform integration",{"children":248,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[249],{"detail":13,"format":13,"mode":14,"style":15,"text":250,"type":17,"version":18},"Shopify, WooCommerce, Wix, Squarespace, and most site builders have a field where you paste the pixel ID, and they wire up standard e-commerce events for you.",{"children":252,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[253],{"detail":13,"format":13,"mode":14,"style":15,"text":254,"type":17,"version":18},"This is the fastest path and the one with the least control. Two things to check afterward:",{"children":256,"direction":19,"format":15,"indent":13,"type":67,"version":18,"listType":68,"start":18,"tag":69},[257,270],{"children":258,"direction":19,"format":15,"indent":13,"type":52,"version":18,"value":18},[259,261,263,265,267,268],{"detail":13,"format":18,"mode":14,"style":15,"text":260,"type":17,"version":18},"Duplicate events.",{"detail":13,"format":13,"mode":14,"style":15,"text":262,"type":17,"version":18}," If the platform fires ",{"detail":13,"format":36,"mode":14,"style":15,"text":264,"type":17,"version":18},"Purchase",{"detail":13,"format":13,"mode":14,"style":15,"text":266,"type":17,"version":18}," and you also added a manual ",{"detail":13,"format":36,"mode":14,"style":15,"text":264,"type":17,"version":18},{"detail":13,"format":13,"mode":14,"style":15,"text":269,"type":17,"version":18},", you are double-counting. Pick one source.",{"children":271,"direction":19,"format":15,"indent":13,"type":52,"version":18,"value":59},[272,274,276,278,280,282],{"detail":13,"format":18,"mode":14,"style":15,"text":273,"type":17,"version":18},"Parameter completeness.",{"detail":13,"format":13,"mode":14,"style":15,"text":275,"type":17,"version":18}," Some integrations omit ",{"detail":13,"format":36,"mode":14,"style":15,"text":277,"type":17,"version":18},"value",{"detail":13,"format":13,"mode":14,"style":15,"text":279,"type":17,"version":18}," and ",{"detail":13,"format":36,"mode":14,"style":15,"text":281,"type":17,"version":18},"currency",{"detail":13,"format":13,"mode":14,"style":15,"text":283,"type":17,"version":18},", which makes value-based optimization impossible. Verify in Events Manager rather than assuming.",{"children":285,"direction":19,"format":15,"indent":13,"type":29,"version":18,"tag":30},[286],{"detail":13,"format":13,"mode":14,"style":15,"text":287,"type":17,"version":18},"Add the Conversions API, not just the pixel",{"children":289,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[290],{"detail":13,"format":13,"mode":14,"style":15,"text":291,"type":17,"version":18},"A browser-only setup loses events. Tracking prevention in Safari and Firefox, ad blockers, and privacy settings all cut into what reaches Meta. The loss is not evenly distributed either — it skews toward exactly the privacy-conscious segments many advertisers care about.",{"children":293,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[294,296,298],{"detail":13,"format":13,"mode":14,"style":15,"text":295,"type":17,"version":18},"The Conversions API sends the same events from your server. Run both, send a shared ",{"detail":13,"format":36,"mode":14,"style":15,"text":297,"type":17,"version":18},"event_id",{"detail":13,"format":13,"mode":14,"style":15,"text":299,"type":17,"version":18}," on each event from both sources, and Meta deduplicates them. You get the coverage of server-side collection without inflated numbers.",{"children":301,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[302],{"detail":13,"format":13,"mode":14,"style":15,"text":303,"type":17,"version":18},"Do not treat this as optional polish. In practice the browser-plus-server setup is what separates accounts with usable conversion data from accounts guessing at attribution.",{"children":305,"direction":19,"format":15,"indent":13,"type":29,"version":18,"tag":30},[306],{"detail":13,"format":13,"mode":14,"style":15,"text":307,"type":17,"version":18},"Which events to configure",{"children":309,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[310],{"detail":13,"format":13,"mode":14,"style":15,"text":311,"type":17,"version":18},"Meta defines a set of standard events. Use them rather than inventing custom names — standard events plug into optimization and reporting without extra configuration.",{"children":313,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[314],{"detail":13,"format":13,"mode":14,"style":15,"text":315,"type":17,"version":18},"The ones that matter for most advertisers:",{"children":317,"direction":19,"format":15,"indent":13,"type":516,"version":18},[318,340,362,391,418,443,468,492],{"children":319,"direction":19,"format":15,"indent":13,"type":339,"version":18},[320,327,333],{"children":321,"direction":19,"format":15,"indent":13,"type":326,"version":18,"backgroundColor":19,"colSpan":18,"headerState":18,"rowSpan":18},[322],{"children":323,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[324],{"detail":13,"format":13,"mode":14,"style":15,"text":325,"type":17,"version":18}," Event ","tablecell",{"children":328,"direction":19,"format":15,"indent":13,"type":326,"version":18,"backgroundColor":19,"colSpan":18,"headerState":18,"rowSpan":18},[329],{"children":330,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[331],{"detail":13,"format":13,"mode":14,"style":15,"text":332,"type":17,"version":18}," Fire it when ",{"children":334,"direction":19,"format":15,"indent":13,"type":326,"version":18,"backgroundColor":19,"colSpan":18,"headerState":18,"rowSpan":18},[335],{"children":336,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[337],{"detail":13,"format":13,"mode":14,"style":15,"text":338,"type":17,"version":18}," Key parameters ","tablerow",{"children":341,"direction":19,"format":15,"indent":13,"type":339,"version":18},[342,350,356],{"children":343,"direction":19,"format":15,"indent":13,"type":326,"version":18,"backgroundColor":19,"colSpan":18,"headerState":13,"rowSpan":18},[344],{"children":345,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[346,348,349],{"detail":13,"format":13,"mode":14,"style":15,"text":347,"type":17,"version":18}," ",{"detail":13,"format":36,"mode":14,"style":15,"text":180,"type":17,"version":18},{"detail":13,"format":13,"mode":14,"style":15,"text":347,"type":17,"version":18},{"children":351,"direction":19,"format":15,"indent":13,"type":326,"version":18,"backgroundColor":19,"colSpan":18,"headerState":13,"rowSpan":18},[352],{"children":353,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[354],{"detail":13,"format":13,"mode":14,"style":15,"text":355,"type":17,"version":18}," Every page ",{"children":357,"direction":19,"format":15,"indent":13,"type":326,"version":18,"backgroundColor":19,"colSpan":18,"headerState":13,"rowSpan":18},[358],{"children":359,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[360],{"detail":13,"format":13,"mode":14,"style":15,"text":361,"type":17,"version":18}," — ",{"children":363,"direction":19,"format":15,"indent":13,"type":339,"version":18},[364,372,378],{"children":365,"direction":19,"format":15,"indent":13,"type":326,"version":18,"backgroundColor":19,"colSpan":18,"headerState":13,"rowSpan":18},[366],{"children":367,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[368,369,371],{"detail":13,"format":13,"mode":14,"style":15,"text":347,"type":17,"version":18},{"detail":13,"format":36,"mode":14,"style":15,"text":370,"type":17,"version":18},"ViewContent",{"detail":13,"format":13,"mode":14,"style":15,"text":347,"type":17,"version":18},{"children":373,"direction":19,"format":15,"indent":13,"type":326,"version":18,"backgroundColor":19,"colSpan":18,"headerState":13,"rowSpan":18},[374],{"children":375,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[376],{"detail":13,"format":13,"mode":14,"style":15,"text":377,"type":17,"version":18}," Product or key landing page viewed ",{"children":379,"direction":19,"format":15,"indent":13,"type":326,"version":18,"backgroundColor":19,"colSpan":18,"headerState":13,"rowSpan":18},[380],{"children":381,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[382,383,385,387,388,389,390],{"detail":13,"format":13,"mode":14,"style":15,"text":347,"type":17,"version":18},{"detail":13,"format":36,"mode":14,"style":15,"text":384,"type":17,"version":18},"content_ids",{"detail":13,"format":13,"mode":14,"style":15,"text":386,"type":17,"version":18},", ",{"detail":13,"format":36,"mode":14,"style":15,"text":277,"type":17,"version":18},{"detail":13,"format":13,"mode":14,"style":15,"text":386,"type":17,"version":18},{"detail":13,"format":36,"mode":14,"style":15,"text":281,"type":17,"version":18},{"detail":13,"format":13,"mode":14,"style":15,"text":347,"type":17,"version":18},{"children":392,"direction":19,"format":15,"indent":13,"type":339,"version":18},[393,401,407],{"children":394,"direction":19,"format":15,"indent":13,"type":326,"version":18,"backgroundColor":19,"colSpan":18,"headerState":13,"rowSpan":18},[395],{"children":396,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[397,398,400],{"detail":13,"format":13,"mode":14,"style":15,"text":347,"type":17,"version":18},{"detail":13,"format":36,"mode":14,"style":15,"text":399,"type":17,"version":18},"AddToCart",{"detail":13,"format":13,"mode":14,"style":15,"text":347,"type":17,"version":18},{"children":402,"direction":19,"format":15,"indent":13,"type":326,"version":18,"backgroundColor":19,"colSpan":18,"headerState":13,"rowSpan":18},[403],{"children":404,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[405],{"detail":13,"format":13,"mode":14,"style":15,"text":406,"type":17,"version":18}," Item added to cart ",{"children":408,"direction":19,"format":15,"indent":13,"type":326,"version":18,"backgroundColor":19,"colSpan":18,"headerState":13,"rowSpan":18},[409],{"children":410,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[411,412,413,414,415,416,417],{"detail":13,"format":13,"mode":14,"style":15,"text":347,"type":17,"version":18},{"detail":13,"format":36,"mode":14,"style":15,"text":384,"type":17,"version":18},{"detail":13,"format":13,"mode":14,"style":15,"text":386,"type":17,"version":18},{"detail":13,"format":36,"mode":14,"style":15,"text":277,"type":17,"version":18},{"detail":13,"format":13,"mode":14,"style":15,"text":386,"type":17,"version":18},{"detail":13,"format":36,"mode":14,"style":15,"text":281,"type":17,"version":18},{"detail":13,"format":13,"mode":14,"style":15,"text":347,"type":17,"version":18},{"children":419,"direction":19,"format":15,"indent":13,"type":339,"version":18},[420,428,434],{"children":421,"direction":19,"format":15,"indent":13,"type":326,"version":18,"backgroundColor":19,"colSpan":18,"headerState":13,"rowSpan":18},[422],{"children":423,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[424,425,427],{"detail":13,"format":13,"mode":14,"style":15,"text":347,"type":17,"version":18},{"detail":13,"format":36,"mode":14,"style":15,"text":426,"type":17,"version":18},"InitiateCheckout",{"detail":13,"format":13,"mode":14,"style":15,"text":347,"type":17,"version":18},{"children":429,"direction":19,"format":15,"indent":13,"type":326,"version":18,"backgroundColor":19,"colSpan":18,"headerState":13,"rowSpan":18},[430],{"children":431,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[432],{"detail":13,"format":13,"mode":14,"style":15,"text":433,"type":17,"version":18}," Checkout started ",{"children":435,"direction":19,"format":15,"indent":13,"type":326,"version":18,"backgroundColor":19,"colSpan":18,"headerState":13,"rowSpan":18},[436],{"children":437,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[438,439,440,441,442],{"detail":13,"format":13,"mode":14,"style":15,"text":347,"type":17,"version":18},{"detail":13,"format":36,"mode":14,"style":15,"text":277,"type":17,"version":18},{"detail":13,"format":13,"mode":14,"style":15,"text":386,"type":17,"version":18},{"detail":13,"format":36,"mode":14,"style":15,"text":281,"type":17,"version":18},{"detail":13,"format":13,"mode":14,"style":15,"text":347,"type":17,"version":18},{"children":444,"direction":19,"format":15,"indent":13,"type":339,"version":18},[445,452,458],{"children":446,"direction":19,"format":15,"indent":13,"type":326,"version":18,"backgroundColor":19,"colSpan":18,"headerState":13,"rowSpan":18},[447],{"children":448,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[449,450,451],{"detail":13,"format":13,"mode":14,"style":15,"text":347,"type":17,"version":18},{"detail":13,"format":36,"mode":14,"style":15,"text":264,"type":17,"version":18},{"detail":13,"format":13,"mode":14,"style":15,"text":347,"type":17,"version":18},{"children":453,"direction":19,"format":15,"indent":13,"type":326,"version":18,"backgroundColor":19,"colSpan":18,"headerState":13,"rowSpan":18},[454],{"children":455,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[456],{"detail":13,"format":13,"mode":14,"style":15,"text":457,"type":17,"version":18}," Order confirmed ",{"children":459,"direction":19,"format":15,"indent":13,"type":326,"version":18,"backgroundColor":19,"colSpan":18,"headerState":13,"rowSpan":18},[460],{"children":461,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[462,463,464,465,466],{"detail":13,"format":13,"mode":14,"style":15,"text":347,"type":17,"version":18},{"detail":13,"format":36,"mode":14,"style":15,"text":277,"type":17,"version":18},{"detail":13,"format":13,"mode":14,"style":15,"text":386,"type":17,"version":18},{"detail":13,"format":36,"mode":14,"style":15,"text":281,"type":17,"version":18},{"detail":13,"format":13,"mode":14,"style":15,"text":467,"type":17,"version":18}," (both required) ",{"children":469,"direction":19,"format":15,"indent":13,"type":339,"version":18},[470,478,484],{"children":471,"direction":19,"format":15,"indent":13,"type":326,"version":18,"backgroundColor":19,"colSpan":18,"headerState":13,"rowSpan":18},[472],{"children":473,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[474,475,477],{"detail":13,"format":13,"mode":14,"style":15,"text":347,"type":17,"version":18},{"detail":13,"format":36,"mode":14,"style":15,"text":476,"type":17,"version":18},"Lead",{"detail":13,"format":13,"mode":14,"style":15,"text":347,"type":17,"version":18},{"children":479,"direction":19,"format":15,"indent":13,"type":326,"version":18,"backgroundColor":19,"colSpan":18,"headerState":13,"rowSpan":18},[480],{"children":481,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[482],{"detail":13,"format":13,"mode":14,"style":15,"text":483,"type":17,"version":18}," Form submitted ",{"children":485,"direction":19,"format":15,"indent":13,"type":326,"version":18,"backgroundColor":19,"colSpan":18,"headerState":13,"rowSpan":18},[486],{"children":487,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[488,489,490],{"detail":13,"format":13,"mode":14,"style":15,"text":347,"type":17,"version":18},{"detail":13,"format":36,"mode":14,"style":15,"text":277,"type":17,"version":18},{"detail":13,"format":13,"mode":14,"style":15,"text":491,"type":17,"version":18}," if you can price a lead ",{"children":493,"direction":19,"format":15,"indent":13,"type":339,"version":18},[494,502,508],{"children":495,"direction":19,"format":15,"indent":13,"type":326,"version":18,"backgroundColor":19,"colSpan":18,"headerState":13,"rowSpan":18},[496],{"children":497,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[498,499,501],{"detail":13,"format":13,"mode":14,"style":15,"text":347,"type":17,"version":18},{"detail":13,"format":36,"mode":14,"style":15,"text":500,"type":17,"version":18},"CompleteRegistration",{"detail":13,"format":13,"mode":14,"style":15,"text":347,"type":17,"version":18},{"children":503,"direction":19,"format":15,"indent":13,"type":326,"version":18,"backgroundColor":19,"colSpan":18,"headerState":13,"rowSpan":18},[504],{"children":505,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[506],{"detail":13,"format":13,"mode":14,"style":15,"text":507,"type":17,"version":18}," Account created ",{"children":509,"direction":19,"format":15,"indent":13,"type":326,"version":18,"backgroundColor":19,"colSpan":18,"headerState":13,"rowSpan":18},[510],{"children":511,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[512,513,514],{"detail":13,"format":13,"mode":14,"style":15,"text":347,"type":17,"version":18},{"detail":13,"format":36,"mode":14,"style":15,"text":277,"type":17,"version":18},{"detail":13,"format":13,"mode":14,"style":15,"text":515,"type":17,"version":18}," optional ","table",{"children":518,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":36,"textStyle":15},[519,520,522,523,524,525],{"detail":13,"format":36,"mode":14,"style":15,"text":264,"type":17,"version":18},{"detail":13,"format":13,"mode":14,"style":15,"text":521,"type":17,"version":18}," without ",{"detail":13,"format":36,"mode":14,"style":15,"text":277,"type":17,"version":18},{"detail":13,"format":13,"mode":14,"style":15,"text":279,"type":17,"version":18},{"detail":13,"format":36,"mode":14,"style":15,"text":281,"type":17,"version":18},{"detail":13,"format":13,"mode":14,"style":15,"text":526,"type":17,"version":18}," is the single most common configuration error. It makes revenue reporting and value-based bidding impossible, and it usually goes unnoticed because the event count looks fine.",{"children":528,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[529,531,532],{"detail":13,"format":13,"mode":14,"style":15,"text":530,"type":17,"version":18},"Fire conversion events on the action, not on the page. A ",{"detail":13,"format":36,"mode":14,"style":15,"text":264,"type":17,"version":18},{"detail":13,"format":13,"mode":14,"style":15,"text":533,"type":17,"version":18}," tied to a confirmation page URL fires again whenever someone refreshes or revisits from history.",{"children":535,"direction":19,"format":15,"indent":13,"type":29,"version":18,"tag":120},[536],{"detail":13,"format":13,"mode":14,"style":15,"text":537,"type":17,"version":18},"Event match quality",{"children":539,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[540,542,544],{"detail":13,"format":13,"mode":14,"style":15,"text":541,"type":17,"version":18},"Meta scores how well it can match your events to real accounts. That score depends on the customer parameters you send with each event: email, phone, name, city, external ID. Hash them before sending — the browser SDK does this for you when you pass them through ",{"detail":13,"format":36,"mode":14,"style":15,"text":543,"type":17,"version":18},"fbq('init', ID, {em: '...'})",{"detail":13,"format":13,"mode":14,"style":15,"text":545,"type":17,"version":18},", and server-side you hash with SHA-256 yourself.",{"children":547,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[548],{"detail":13,"format":13,"mode":14,"style":15,"text":549,"type":17,"version":18},"Higher match quality means more attributed conversions and better optimization from the same traffic. It is one of the few changes that improves results without touching budget or creative.",{"children":551,"direction":19,"format":15,"indent":13,"type":29,"version":18,"tag":30},[552],{"detail":13,"format":13,"mode":14,"style":15,"text":553,"type":17,"version":18},"Verify the setup",{"children":555,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[556],{"detail":13,"format":13,"mode":14,"style":15,"text":557,"type":17,"version":18},"Never assume installation worked. Three checks, in order:",{"children":559,"direction":19,"format":15,"indent":13,"type":67,"version":18,"listType":234,"start":18,"tag":235},[560,566,572],{"children":561,"direction":19,"format":15,"indent":13,"type":52,"version":18,"value":18},[562,564],{"detail":13,"format":18,"mode":14,"style":15,"text":563,"type":17,"version":18},"Meta Pixel Helper",{"detail":13,"format":13,"mode":14,"style":15,"text":565,"type":17,"version":18}," (Chrome extension). Load your site and confirm the pixel is found, the ID is correct, and no warnings appear. This catches syntax errors and duplicate installs immediately.",{"children":567,"direction":19,"format":15,"indent":13,"type":52,"version":18,"value":59},[568,570],{"detail":13,"format":18,"mode":14,"style":15,"text":569,"type":17,"version":18},"Events Manager → Test Events.",{"detail":13,"format":13,"mode":14,"style":15,"text":571,"type":17,"version":18}," Enter your URL, walk through a real conversion path, and watch events arrive live with their parameters. This is the check that matters — it shows what Meta actually received, not what your browser sent.",{"children":573,"direction":19,"format":15,"indent":13,"type":52,"version":18,"value":66},[574,576],{"detail":13,"format":18,"mode":14,"style":15,"text":575,"type":17,"version":18},"Events Manager → Overview, 24 hours later.",{"detail":13,"format":13,"mode":14,"style":15,"text":577,"type":17,"version":18}," Confirm volumes look sane against your actual traffic and that no event shows a warning about missing parameters.",{"children":579,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[580],{"detail":13,"format":13,"mode":14,"style":15,"text":581,"type":17,"version":18},"If nothing arrives: confirm the pixel ID matches, check that an ad blocker in your own browser is not the culprit, and look at the browser console for a JavaScript error above the pixel code — an earlier error stops the snippet from ever running.",{"children":583,"direction":19,"format":15,"indent":13,"type":29,"version":18,"tag":30},[584],{"detail":13,"format":13,"mode":14,"style":15,"text":585,"type":17,"version":18},"Common mistakes",{"children":587,"direction":19,"format":15,"indent":13,"type":67,"version":18,"listType":68,"start":18,"tag":69},[588,594,603,609,623,630,640],{"children":589,"direction":19,"format":15,"indent":13,"type":52,"version":18,"value":18},[590,592],{"detail":13,"format":18,"mode":14,"style":15,"text":591,"type":17,"version":18},"Two pixels on one page.",{"detail":13,"format":13,"mode":14,"style":15,"text":593,"type":17,"version":18}," Usually from a platform integration plus a manual install. Every event doubles. Pixel Helper flags it.",{"children":595,"direction":19,"format":15,"indent":13,"type":52,"version":18,"value":59},[596,598,600,602],{"detail":13,"format":18,"mode":14,"style":15,"text":597,"type":17,"version":18},"Base code in the body.",{"detail":13,"format":13,"mode":14,"style":15,"text":599,"type":17,"version":18}," It works less reliably and fires late. It belongs in ",{"detail":13,"format":36,"mode":14,"style":15,"text":601,"type":17,"version":18},"\u003Chead>",{"detail":13,"format":13,"mode":14,"style":15,"text":165,"type":17,"version":18},{"children":604,"direction":19,"format":15,"indent":13,"type":52,"version":18,"value":66},[605,607],{"detail":13,"format":18,"mode":14,"style":15,"text":606,"type":17,"version":18},"Conversion events on page load instead of on action.",{"detail":13,"format":13,"mode":14,"style":15,"text":608,"type":17,"version":18}," Inflates counts and teaches optimization the wrong thing.",{"children":610,"direction":19,"format":15,"indent":13,"type":52,"version":18,"value":174},[611,613,615,616,617,619,620,621],{"detail":13,"format":18,"mode":14,"style":15,"text":612,"type":17,"version":18},"Missing ",{"detail":13,"format":614,"mode":14,"style":15,"text":277,"type":17,"version":18},17,{"detail":13,"format":18,"mode":14,"style":15,"text":279,"type":17,"version":18},{"detail":13,"format":614,"mode":14,"style":15,"text":281,"type":17,"version":18},{"detail":13,"format":18,"mode":14,"style":15,"text":618,"type":17,"version":18}," on ",{"detail":13,"format":614,"mode":14,"style":15,"text":264,"type":17,"version":18},{"detail":13,"format":18,"mode":14,"style":15,"text":165,"type":17,"version":18},{"detail":13,"format":13,"mode":14,"style":15,"text":622,"type":17,"version":18}," Blocks ROAS reporting and value optimization.",{"children":624,"direction":19,"format":15,"indent":13,"type":52,"version":18,"value":629},[625,627],{"detail":13,"format":18,"mode":14,"style":15,"text":626,"type":17,"version":18},"Skipping domain verification.",{"detail":13,"format":13,"mode":14,"style":15,"text":628,"type":17,"version":18}," Required to control which conversion events your business can configure and prioritize. Set it up in Business Settings → Brand Safety → Domains.",5,{"children":631,"direction":19,"format":15,"indent":13,"type":52,"version":18,"value":639},[632,634,635,637],{"detail":13,"format":18,"mode":14,"style":15,"text":633,"type":17,"version":18},"Not firing ",{"detail":13,"format":614,"mode":14,"style":15,"text":180,"type":17,"version":18},{"detail":13,"format":18,"mode":14,"style":15,"text":636,"type":17,"version":18}," on SPA route changes.",{"detail":13,"format":13,"mode":14,"style":15,"text":638,"type":17,"version":18}," Silently drops most of the session.",6,{"children":641,"direction":19,"format":15,"indent":13,"type":52,"version":18,"value":646},[642,644],{"detail":13,"format":18,"mode":14,"style":15,"text":643,"type":17,"version":18},"Installing without the Conversions API.",{"detail":13,"format":13,"mode":14,"style":15,"text":645,"type":17,"version":18}," Leaves a growing share of conversions unmeasured.",7,{"children":648,"direction":19,"format":15,"indent":13,"type":29,"version":18,"tag":30},[649],{"detail":13,"format":13,"mode":14,"style":15,"text":650,"type":17,"version":18},"First week after setup",{"children":652,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[653],{"detail":13,"format":13,"mode":14,"style":15,"text":654,"type":17,"version":18},"Check Events Manager daily for the first week. You are looking for three things: event volumes proportional to your traffic, no parameter warnings, and event match quality that is not sitting at the bottom of the range. Fix problems now — conversion data collected during a broken window does not come back, and campaigns that learn from it start out miscalibrated.",{"children":656,"direction":19,"format":15,"indent":13,"type":29,"version":18,"tag":30},[657],{"detail":13,"format":13,"mode":14,"style":15,"text":658,"type":17,"version":18},"FAQ",{"children":660,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":18,"textStyle":15},[661,663,665,666],{"detail":13,"format":18,"mode":14,"style":15,"text":662,"type":17,"version":18},"Do I still need the pixel if I use the Conversions API?",{"detail":13,"format":13,"mode":14,"style":15,"text":664,"type":17,"version":18}," Yes. Run both. The browser pixel captures signals the server does not see, and the server captures events the browser loses. Deduplicate with a shared ",{"detail":13,"format":36,"mode":14,"style":15,"text":297,"type":17,"version":18},{"detail":13,"format":13,"mode":14,"style":15,"text":165,"type":17,"version":18},{"children":668,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":18,"textStyle":15},[669,671],{"detail":13,"format":18,"mode":14,"style":15,"text":670,"type":17,"version":18},"How many pixels should I have?",{"detail":13,"format":13,"mode":14,"style":15,"text":672,"type":17,"version":18}," One per website. Multiple pixels on one site fragment the data your campaigns learn from. Multiple distinct websites can each have their own.",{"children":674,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":18,"textStyle":15},[675,677],{"detail":13,"format":18,"mode":14,"style":15,"text":676,"type":17,"version":18},"How long until data appears?",{"detail":13,"format":13,"mode":14,"style":15,"text":678,"type":17,"version":18}," Test Events shows activity within seconds. Aggregated reporting in Events Manager and Ads Manager typically settles within a few hours.",{"children":680,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":18,"textStyle":15},[681,683],{"detail":13,"format":18,"mode":14,"style":15,"text":682,"type":17,"version":18},"Can I install the pixel without touching site code?",{"detail":13,"format":13,"mode":14,"style":15,"text":684,"type":17,"version":18}," Yes — through Google Tag Manager or your platform's built-in integration. Both still require verification afterward.",{"children":686,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":18,"textStyle":15},[687,689],{"detail":13,"format":18,"mode":14,"style":15,"text":688,"type":17,"version":18},"Does the pixel work with consent management?",{"detail":13,"format":13,"mode":14,"style":15,"text":690,"type":17,"version":18}," It has to. Where consent is required, the pixel should load only after consent is granted. Most consent platforms have a Meta integration; wire the pixel into your consent categories rather than letting it fire unconditionally.",{"children":692,"direction":19,"format":15,"indent":13,"type":29,"version":18,"tag":30},[693],{"detail":13,"format":13,"mode":14,"style":15,"text":694,"type":17,"version":18},"The short version",{"children":696,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[697,699,700,702,703,704,705],{"detail":13,"format":13,"mode":14,"style":15,"text":698,"type":17,"version":18},"Install the base code in ",{"detail":13,"format":36,"mode":14,"style":15,"text":601,"type":17,"version":18},{"detail":13,"format":13,"mode":14,"style":15,"text":701,"type":17,"version":18}," on every page, add standard events on the actions themselves with ",{"detail":13,"format":36,"mode":14,"style":15,"text":277,"type":17,"version":18},{"detail":13,"format":13,"mode":14,"style":15,"text":279,"type":17,"version":18},{"detail":13,"format":36,"mode":14,"style":15,"text":281,"type":17,"version":18},{"detail":13,"format":13,"mode":14,"style":15,"text":706,"type":17,"version":18}," where they apply, pair the browser pixel with the Conversions API and deduplicate, send customer parameters to lift match quality, and verify with Pixel Helper plus Test Events before you trust a single number.",{"children":708,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[709],{"detail":13,"format":13,"mode":14,"style":15,"text":710,"type":17,"version":18},"The setup that takes an extra hour — server-side events, complete parameters, real verification — is the one that still reports accurately a year from now.",{"children":712,"direction":19,"format":15,"indent":13,"type":29,"version":18,"tag":30},[713],{"detail":13,"format":13,"mode":14,"style":15,"text":714,"type":17,"version":18},"Running ads across Meta and TikTok?",{"children":716,"direction":19,"format":15,"indent":13,"type":20,"version":18,"textFormat":13,"textStyle":15},[717,719,726],{"detail":13,"format":13,"mode":14,"style":15,"text":718,"type":17,"version":18},"DeepClick's ",{"children":720,"direction":19,"format":15,"indent":13,"type":92,"version":66,"fields":723,"id":725},[721],{"detail":13,"format":13,"mode":14,"style":15,"text":722,"type":17,"version":18},"Meta & TikTok advertiser tools",{"linkType":94,"newTab":95,"url":724},"https://deepclick.com/solutions/meta-tiktok-advertisers","6a92a945c14abe00c8dcee6c",{"detail":13,"format":13,"mode":14,"style":15,"text":727,"type":17,"version":18}," help teams keep tracking, landing pages, and campaign delivery working together across platforms.","root",{"id":730,"alt":731,"updatedAt":732,"createdAt":732,"url":733,"thumbnailURL":19,"filename":734,"mimeType":735,"filesize":736,"width":19,"height":19},1033,"Diagram showing browser and server sending conversion events to Meta","2026-08-29T09:38:11.881Z","https://cms-r2.deepclick.com/image_1787996224410_22453-476ebf4880a2.jpg","image_1787996224410_22453-476ebf4880a2.jpg","application/octet-stream",170740,{"title":738,"description":739,"image":740},"Facebook Pixel Setup Guide (2026): Install, Verify & Fix Errors","Step-by-step Facebook Pixel setup: direct code, GTM or platform install, Conversions API pairing, standard events with value and currency, and how to verify in Events Manager before you trust the data.",{"id":730,"alt":731,"updatedAt":732,"createdAt":732,"url":733,"thumbnailURL":19,"filename":734,"mimeType":735,"filesize":736,"width":19,"height":19},{"id":18,"key":742,"name":743,"prodHost":744,"testHost":745,"blogPath":746,"docPath":747,"zhPrefix":748,"deployHookTest":749,"deployHookProd":750,"brandAuthor":751,"brandKit":755,"enabled":759,"updatedAt":760,"createdAt":761},"deepclick","DeepClick","https://deepclick.com","https://www-test-deepclick.qiliangjia.one","/resources/blog/{slug}","/docs/{slug}","/zh-CN","https://api.cloudflare.com/client/v4/pages/webhooks/deploy_hooks/60a9adef-153b-4c89-8d07-7118e91e9522","https://api.cloudflare.com/client/v4/pages/webhooks/deploy_hooks/05323321-f694-4ce8-a5af-173c507b8bae",{"id":59,"name":743,"avatar":752,"updatedAt":753,"createdAt":754},25,"2026-04-22T08:09:35.299Z","2026-04-22T06:42:49.116Z",{"logoLight":19,"logoDark":19,"primaryColor":756,"accentColor":757,"tagline":758,"wechatName":19,"xhsHandle":19,"wechatQr":19},"#1a73e8","#ff6600","一次点击，多重价值",true,"2026-08-25T06:40:57.663Z","2026-07-14T06:26:38.962Z","published","facebook-pixel-setup-guide",{"id":174,"name":765,"avatar":766,"updatedAt":773,"createdAt":773},"Ethan Cole",{"id":767,"alt":768,"updatedAt":769,"createdAt":769,"url":770,"thumbnailURL":19,"filename":771,"mimeType":735,"filesize":772,"width":19,"height":19},922,"Ethan Cole — growth & ad-tech editor","2026-07-27T07:17:05.290Z","https://cms-r2.deepclick.com/gpt_1785136218181_0-d1b8139c1927.png","gpt_1785136218181_0-d1b8139c1927.png",1965798,"2026-07-27T07:17:07.920Z",{"id":646,"site":775,"titleZh":777,"titleEn":778,"slug":779,"order":629,"updatedAt":780,"createdAt":781},{"id":18,"key":742,"name":743,"prodHost":744,"testHost":745,"blogPath":746,"docPath":747,"zhPrefix":748,"deployHookTest":749,"deployHookProd":750,"brandAuthor":59,"brandKit":776,"enabled":759,"updatedAt":760,"createdAt":761},{"logoLight":19,"logoDark":19,"primaryColor":756,"accentColor":757,"tagline":758,"wechatName":19,"xhsHandle":19,"wechatQr":19},"技术导航","Tech Guides","tech-guides","2026-04-27T08:37:10.576Z","2026-04-23T02:59:13.436Z","2026-08-29T09:42:00.170Z","2026-08-29T09:41:25.838Z","\u003Cdiv class=\"payload-richtext\">\u003Cp>Most guides to installing a tracking pixel are written as if it were 2019: paste a snippet in the header, see a green dot, done. That version still technically works, but it now covers maybe half of what determines whether your conversion data is usable. Browser-side collection loses a meaningful share of events to tracking prevention and ad blockers, and the setup that performs is the one that pairs the browser pixel with a server-side feed and gets the identity parameters right.\u003C/p>\u003Cp>This guide covers the full Facebook Pixel setup: what the pixel is in 2026, the three installation paths, how to verify it actually fires, which events to configure, and the mistakes that quietly cost you conversion data.\u003C/p>\u003Ch2>What the Facebook Pixel is now\u003C/h2>\u003Cp>The Facebook Pixel is a JavaScript snippet that runs on your site and reports visitor actions back to Meta. Meta has been folding it into a broader container it calls a dataset, and the Events Manager interface increasingly uses that word. Practically, nothing about installation changed: you still have a numeric ID, you still load \u003Ccode>fbevents.js\u003C/code>, and you still fire events. When documentation says dataset and your interface says pixel, they refer to the same object.\u003C/p>\u003Cp>What the pixel does for you:\u003C/p>\u003Cul class=\"list-bullet\">\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"1\"\n        >\u003Cstrong>Conversion measurement.\u003C/strong> Attributes purchases, sign-ups, and other actions to the ads that drove them.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"2\"\n        >\u003Cstrong>Optimization.\u003C/strong> Feeds Meta&#39;s delivery system the signal it needs to find people likely to convert. This is the part most advertisers underrate — without conversion events, campaigns optimize toward clicks, which is a much weaker proxy.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"3\"\n        >\u003Cstrong>Audience building.\u003C/strong> Powers retargeting and lookalike audiences.\u003C/li>\u003C/ul>\u003Cp>The optimization role is why a partial pixel setup is worse than it looks. Missing events do not just create reporting gaps; they degrade the model that decides who sees your ads.\u003C/p>\u003Ch2>Before you install\u003C/h2>\u003Cp>Have these ready:\u003C/p>\u003Cul class=\"list-bullet\">\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"1\"\n        >A Meta Business Manager with an ad account. If you have not set one up, start with our \u003Ca href=\"https://deepclick.com/resources/blog/how-to-create-facebook-business-manager/\">guide to creating a Facebook Business Manager\u003C/a> — the pixel lives inside the business, not inside a personal profile.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"2\"\n        >Admin access to your website&#39;s code or tag manager.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"3\"\n        >Your list of conversion actions, written down before you touch any code. Setups drift when people install first and decide what to measure afterward.\u003C/li>\u003C/ul>\u003Cp>Get your pixel ID from Events Manager: open Events Manager, select or create a dataset, and the ID is the number shown under its name. Create one pixel per website. Splitting one site across multiple pixels fragments the data your campaigns learn from.\u003C/p>\u003Ch2>How to set up the Facebook Pixel: three paths\u003C/h2>\u003Ch3>Path 1 — Direct code installation\u003C/h3>\u003Cp>Best when you control the site&#39;s templates and want no dependencies.\u003C/p>\u003Cp>Events Manager generates the base code for you with your ID already in it — copy it from there rather than retyping it. Paste it into the head section of every page, just before the closing head tag.\u003C/p>\u003Cp>Structurally the snippet does four things:\u003C/p>\u003Cul class=\"list-bullet\">\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"1\"\n        >Loads \u003Ccode>fbevents.js\u003C/code> from \u003Ccode>connect.facebook.net\u003C/code> and defines the global \u003Ccode>fbq\u003C/code> function.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"2\"\n        >Calls \u003Ccode>fbq(&#39;init&#39;, &#39;YOUR_PIXEL_ID&#39;)\u003C/code> with your numeric dataset ID.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"3\"\n        >Fires the first event with \u003Ccode>fbq(&#39;track&#39;, &#39;PageView&#39;)\u003C/code>.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"4\"\n        >Adds a no-script fallback image pointing at \u003Ccode>facebook.com/tr\u003C/code> so visitors with JavaScript disabled still register a page view.\u003C/li>\u003C/ul>\u003Cp>The base code fires \u003Ccode>PageView\u003C/code> on every page; conversion events go on top of it.\u003C/p>\u003Cp>For a single-page application, the base code fires \u003Ccode>PageView\u003C/code> once on first load and will not fire again on client-side route changes. Call \u003Ccode>fbq(&#39;track&#39;, &#39;PageView&#39;)\u003C/code> yourself in your router&#39;s navigation hook, otherwise every page after the entry point is invisible.\u003C/p>\u003Ch3>Path 2 — Google Tag Manager\u003C/h3>\u003Cp>Best when a marketing team needs to add events without shipping code.\u003C/p>\u003Col class=\"list-number\">\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"1\"\n        >In GTM, create a \u003Cstrong>Custom HTML\u003C/strong> tag containing the base code.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"2\"\n        >Set the trigger to \u003Cstrong>All Pages\u003C/strong>.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"3\"\n        >For each conversion, create another Custom HTML tag with just the event call — \u003Ccode>fbq(&#39;track&#39;, &#39;Purchase&#39;, {value: 29.99, currency: &#39;USD&#39;});\u003C/code> — and trigger it on the relevant event or page.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"4\"\n        >Use \u003Cstrong>Preview\u003C/strong> mode to confirm firing before you publish. GTM containers are published atomically; an untested tag goes live for everyone at once.\u003C/li>\u003C/ol>\u003Cp>One caution: sequencing. The base code must run before any event tag. If an event tag fires on a trigger that can beat the All Pages tag, the event is dropped because \u003Ccode>fbq\u003C/code> is not defined yet. Tag sequencing in GTM&#39;s advanced settings solves this — set the base tag as a setup tag on each event tag.\u003C/p>\u003Ch3>Path 3 — Platform integration\u003C/h3>\u003Cp>Shopify, WooCommerce, Wix, Squarespace, and most site builders have a field where you paste the pixel ID, and they wire up standard e-commerce events for you.\u003C/p>\u003Cp>This is the fastest path and the one with the least control. Two things to check afterward:\u003C/p>\u003Cul class=\"list-bullet\">\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"1\"\n        >\u003Cstrong>Duplicate events.\u003C/strong> If the platform fires \u003Ccode>Purchase\u003C/code> and you also added a manual \u003Ccode>Purchase\u003C/code>, you are double-counting. Pick one source.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"2\"\n        >\u003Cstrong>Parameter completeness.\u003C/strong> Some integrations omit \u003Ccode>value\u003C/code> and \u003Ccode>currency\u003C/code>, which makes value-based optimization impossible. Verify in Events Manager rather than assuming.\u003C/li>\u003C/ul>\u003Ch2>Add the Conversions API, not just the pixel\u003C/h2>\u003Cp>A browser-only setup loses events. Tracking prevention in Safari and Firefox, ad blockers, and privacy settings all cut into what reaches Meta. The loss is not evenly distributed either — it skews toward exactly the privacy-conscious segments many advertisers care about.\u003C/p>\u003Cp>The Conversions API sends the same events from your server. Run both, send a shared \u003Ccode>event_id\u003C/code> on each event from both sources, and Meta deduplicates them. You get the coverage of server-side collection without inflated numbers.\u003C/p>\u003Cp>Do not treat this as optional polish. In practice the browser-plus-server setup is what separates accounts with usable conversion data from accounts guessing at attribution.\u003C/p>\u003Ch2>Which events to configure\u003C/h2>\u003Cp>Meta defines a set of standard events. Use them rather than inventing custom names — standard events plug into optimization and reporting without extra configuration.\u003C/p>\u003Cp>The ones that matter for most advertisers:\u003C/p>\u003Cdiv class=\"lexical-table-container\">\n        \u003Ctable class=\"lexical-table\" style=\"border-collapse: collapse;\">\n          \u003Ctbody>\u003Ctr class=\"lexical-table-row\">\n        \u003Cth\n        class=\"lexical-table-cell lexical-table-cell-header-1\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Event \u003C/p>\n      \u003C/th>\n    \u003Cth\n        class=\"lexical-table-cell lexical-table-cell-header-1\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Fire it when \u003C/p>\n      \u003C/th>\n    \u003Cth\n        class=\"lexical-table-cell lexical-table-cell-header-1\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Key parameters \u003C/p>\n      \u003C/th>\n    \n      \u003C/tr>\u003Ctr class=\"lexical-table-row\">\n        \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> \u003Ccode>PageView\u003C/code> \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Every page \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> — \u003C/p>\n      \u003C/td>\n    \n      \u003C/tr>\u003Ctr class=\"lexical-table-row\">\n        \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> \u003Ccode>ViewContent\u003C/code> \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Product or key landing page viewed \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> \u003Ccode>content_ids\u003C/code>, \u003Ccode>value\u003C/code>, \u003Ccode>currency\u003C/code> \u003C/p>\n      \u003C/td>\n    \n      \u003C/tr>\u003Ctr class=\"lexical-table-row\">\n        \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> \u003Ccode>AddToCart\u003C/code> \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Item added to cart \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> \u003Ccode>content_ids\u003C/code>, \u003Ccode>value\u003C/code>, \u003Ccode>currency\u003C/code> \u003C/p>\n      \u003C/td>\n    \n      \u003C/tr>\u003Ctr class=\"lexical-table-row\">\n        \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> \u003Ccode>InitiateCheckout\u003C/code> \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Checkout started \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> \u003Ccode>value\u003C/code>, \u003Ccode>currency\u003C/code> \u003C/p>\n      \u003C/td>\n    \n      \u003C/tr>\u003Ctr class=\"lexical-table-row\">\n        \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> \u003Ccode>Purchase\u003C/code> \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Order confirmed \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> \u003Ccode>value\u003C/code>, \u003Ccode>currency\u003C/code> (both required) \u003C/p>\n      \u003C/td>\n    \n      \u003C/tr>\u003Ctr class=\"lexical-table-row\">\n        \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> \u003Ccode>Lead\u003C/code> \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Form submitted \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> \u003Ccode>value\u003C/code> if you can price a lead \u003C/p>\n      \u003C/td>\n    \n      \u003C/tr>\u003Ctr class=\"lexical-table-row\">\n        \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> \u003Ccode>CompleteRegistration\u003C/code> \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Account created \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> \u003Ccode>value\u003C/code> optional \u003C/p>\n      \u003C/td>\n    \n      \u003C/tr>\u003C/tbody>\n        \u003C/table>\n      \u003C/div>\u003Cp>\u003Ccode>Purchase\u003C/code> without \u003Ccode>value\u003C/code> and \u003Ccode>currency\u003C/code> is the single most common configuration error. It makes revenue reporting and value-based bidding impossible, and it usually goes unnoticed because the event count looks fine.\u003C/p>\u003Cp>Fire conversion events on the action, not on the page. A \u003Ccode>Purchase\u003C/code> tied to a confirmation page URL fires again whenever someone refreshes or revisits from history.\u003C/p>\u003Ch3>Event match quality\u003C/h3>\u003Cp>Meta scores how well it can match your events to real accounts. That score depends on the customer parameters you send with each event: email, phone, name, city, external ID. Hash them before sending — the browser SDK does this for you when you pass them through \u003Ccode>fbq(&#39;init&#39;, ID, {em: &#39;...&#39;})\u003C/code>, and server-side you hash with SHA-256 yourself.\u003C/p>\u003Cp>Higher match quality means more attributed conversions and better optimization from the same traffic. It is one of the few changes that improves results without touching budget or creative.\u003C/p>\u003Ch2>Verify the setup\u003C/h2>\u003Cp>Never assume installation worked. Three checks, in order:\u003C/p>\u003Col class=\"list-number\">\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"1\"\n        >\u003Cstrong>Meta Pixel Helper\u003C/strong> (Chrome extension). Load your site and confirm the pixel is found, the ID is correct, and no warnings appear. This catches syntax errors and duplicate installs immediately.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"2\"\n        >\u003Cstrong>Events Manager → Test Events.\u003C/strong> Enter your URL, walk through a real conversion path, and watch events arrive live with their parameters. This is the check that matters — it shows what Meta actually received, not what your browser sent.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"3\"\n        >\u003Cstrong>Events Manager → Overview, 24 hours later.\u003C/strong> Confirm volumes look sane against your actual traffic and that no event shows a warning about missing parameters.\u003C/li>\u003C/ol>\u003Cp>If nothing arrives: confirm the pixel ID matches, check that an ad blocker in your own browser is not the culprit, and look at the browser console for a JavaScript error above the pixel code — an earlier error stops the snippet from ever running.\u003C/p>\u003Ch2>Common mistakes\u003C/h2>\u003Cul class=\"list-bullet\">\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"1\"\n        >\u003Cstrong>Two pixels on one page.\u003C/strong> Usually from a platform integration plus a manual install. Every event doubles. Pixel Helper flags it.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"2\"\n        >\u003Cstrong>Base code in the body.\u003C/strong> It works less reliably and fires late. It belongs in \u003Ccode>&lt;head&gt;\u003C/code>.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"3\"\n        >\u003Cstrong>Conversion events on page load instead of on action.\u003C/strong> Inflates counts and teaches optimization the wrong thing.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"4\"\n        >\u003Cstrong>Missing \u003C/strong>\u003Ccode>\u003Cstrong>value\u003C/strong>\u003C/code>\u003Cstrong> and \u003C/strong>\u003Ccode>\u003Cstrong>currency\u003C/strong>\u003C/code>\u003Cstrong> on \u003C/strong>\u003Ccode>\u003Cstrong>Purchase\u003C/strong>\u003C/code>\u003Cstrong>.\u003C/strong> Blocks ROAS reporting and value optimization.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"5\"\n        >\u003Cstrong>Skipping domain verification.\u003C/strong> Required to control which conversion events your business can configure and prioritize. Set it up in Business Settings → Brand Safety → Domains.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"6\"\n        >\u003Cstrong>Not firing \u003C/strong>\u003Ccode>\u003Cstrong>PageView\u003C/strong>\u003C/code>\u003Cstrong> on SPA route changes.\u003C/strong> Silently drops most of the session.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"7\"\n        >\u003Cstrong>Installing without the Conversions API.\u003C/strong> Leaves a growing share of conversions unmeasured.\u003C/li>\u003C/ul>\u003Ch2>First week after setup\u003C/h2>\u003Cp>Check Events Manager daily for the first week. You are looking for three things: event volumes proportional to your traffic, no parameter warnings, and event match quality that is not sitting at the bottom of the range. Fix problems now — conversion data collected during a broken window does not come back, and campaigns that learn from it start out miscalibrated.\u003C/p>\u003Ch2>FAQ\u003C/h2>\u003Cp>\u003Cstrong>Do I still need the pixel if I use the Conversions API?\u003C/strong> Yes. Run both. The browser pixel captures signals the server does not see, and the server captures events the browser loses. Deduplicate with a shared \u003Ccode>event_id\u003C/code>.\u003C/p>\u003Cp>\u003Cstrong>How many pixels should I have?\u003C/strong> One per website. Multiple pixels on one site fragment the data your campaigns learn from. Multiple distinct websites can each have their own.\u003C/p>\u003Cp>\u003Cstrong>How long until data appears?\u003C/strong> Test Events shows activity within seconds. Aggregated reporting in Events Manager and Ads Manager typically settles within a few hours.\u003C/p>\u003Cp>\u003Cstrong>Can I install the pixel without touching site code?\u003C/strong> Yes — through Google Tag Manager or your platform&#39;s built-in integration. Both still require verification afterward.\u003C/p>\u003Cp>\u003Cstrong>Does the pixel work with consent management?\u003C/strong> It has to. Where consent is required, the pixel should load only after consent is granted. Most consent platforms have a Meta integration; wire the pixel into your consent categories rather than letting it fire unconditionally.\u003C/p>\u003Ch2>The short version\u003C/h2>\u003Cp>Install the base code in \u003Ccode>&lt;head&gt;\u003C/code> on every page, add standard events on the actions themselves with \u003Ccode>value\u003C/code> and \u003Ccode>currency\u003C/code> where they apply, pair the browser pixel with the Conversions API and deduplicate, send customer parameters to lift match quality, and verify with Pixel Helper plus Test Events before you trust a single number.\u003C/p>\u003Cp>The setup that takes an extra hour — server-side events, complete parameters, real verification — is the one that still reports accurately a year from now.\u003C/p>\u003Ch2>Running ads across Meta and TikTok?\u003C/h2>\u003Cp>DeepClick&#39;s \u003Ca href=\"https://deepclick.com/solutions/meta-tiktok-advertisers\">Meta &amp; TikTok advertiser tools\u003C/a> help teams keep tracking, landing pages, and campaign delivery working together across platforms.\u003C/p>\u003C/div>","https://deepclick.com/resources/blog/facebook-pixel-setup-guide",{"zh-CN":763,"en":763},1787996645499]