1/*! Copyright 2025 SweetCode. All rights reserved. */ 2(self.webpackChunkPixel_Manager_for_WooCommerce=self.webpackChunkPixel_Manager_for_WooCommerce||[]).push([[526],{5165(){!function(e){const a={async adapt(a,t,o){if(!pmwDataLayer?.pixels?.facebook?.pixel_id)return null;const r={page_view:this.adaptPageView,add_to_cart:this.adaptAddToCart,view_item:this.adaptViewItem,begin_checkout:this.adaptBeginCheckout,add_payment_info:this.adaptAddPaymentInfo,add_to_wishlist:this.adaptAddToWishlist,search:this.adaptSearch,purchase:this.adaptPurchase,login:this.adaptLogin}[t];if(!r)return e.console.log(`No Facebook adapter for event: ${t}`),null;try{return await r.call(this,a,o)}catch(a){return e.console.error(`Facebook adapter error for ${t}:`,a),null}},async enrichServerData(a){if(a?.user_data?.fbp)return a;const t=await e.waitForFbp();return t&&a?.user_data&&(a.user_data.fbp=t),a},async getBaseData(a){const t={event_id:e.getRandomEventId(),action_source:"website",event_time:Math.floor(Date.now()/1e3),user_data:e.getFbUserData(),event_source_url:a.url};return a.referrer&&(t.referrer_url=a.referrer),t},async adaptPageView(e,a){return{event_name:"PageView",...await this.getBaseData(a),custom_data:{}}},async adaptAddToCart(a,t){const o=a.product;return{event_name:"AddToCart",...await this.getBaseData(t),custom_data:e.fbGetProductDataForCapiEvent(o)}},async adaptViewItem(a,t){const o=a.product,r={event_name:"ViewContent",...await this.getBaseData(t),custom_data:{}};return o&&(r.custom_data=e.fbGetProductDataForCapiEvent(o)),r},async adaptBeginCheckout(a,t){const o={event_name:"InitiateCheckout",...await this.getBaseData(t),custom_data:{}};return pmwDataLayer?.cart&&!e.isEmptyObject(pmwDataLayer.cart)&&(o.custom_data={content_type:"product",content_ids:e.fbGetContentIdsFromCart(),value:e.getCartValue(),currency:pmwDataLayer?.shop?.currency}),o},async adaptAddPaymentInfo(a,t){const o={event_name:"AddPaymentInfo",...await this.getBaseData(t),custom_data:{}};return pmwDataLayer?.cart&&!e.isEmptyObject(pmwDataLayer.cart)&&(o.custom_data={content_type:"product",content_ids:e.fbGetContentIdsFromCart(),value:e.getCartValue(),currency:pmwDataLayer?.shop?.currency}),o},async adaptAddToWishlist(a,t){const o=a.product;return{event_name:"AddToWishlist",...await this.getBaseData(t),custom_data:e.fbGetProductDataForCapiEvent(o)}},async adaptSearch(a,t){return{event_name:"Search",...await this.getBaseData(t),custom_data:{search_string:e.getSearchTermFromUrl()}}},async adaptPurchase(a,t){if(!pmwDataLayer?.order)return e.console.error("Order data not available for Facebook Purchase event"),null;const o=await this.getBaseData(t);return o.event_id="pmw_"+pmwDataLayer.order.id.toString(),{event_name:"Purchase",...o,custom_data:{value:pmwDataLayer.order.value.marketing,currency:pmwDataLayer.order.currency,content_type:"product",content_ids:e.facebookContentIds()}}},adaptLogin:async(e,a)=>null};e.registerAdapter("facebook",a,{mode:"both",supportsS2S:!0,supportsEventDeduplication:!0,supportsPageViewS2S:!0,isActive:()=>!0===pmwDataLayer?.pixels?.facebook?.loaded&&!0===e.consent.categories.get().marketing,isConfigured:()=>!!pmwDataLayer?.pixels?.facebook?.pixel_id})}(window.pmw=window.pmw||{})},2028(){pmw.bus.on("pmw:load-pixels",()=>{!pmwDataLayer?.pixels?.facebook?.pixel_id||pmwDataLayer?.pixels?.facebook?.loaded||pmw.doesUrlContainPatterns(pmwDataLayer?.pixels?.facebook?.exclusion_patterns)||pmw.consent.canPixelBeFired("marketing","Facebook")&&pmw.loadFacebookPixel()}),pmw.bus.on("pmw:pixel:page-view",e=>{try{if(pmw.canNotFireFbq())return;if(!pmw.shouldFireBrowserPixel(e,"facebook"))return;const a=e.pixels?.facebook;if(!a)return void pmw.console.log("Facebook: No data in payload for page_view event");fbq("track",a.event_name,a.custom_data,{eventID:a.event_id})}catch(e){console.error(e)}}),pmw.bus.on("pmw:pixel:add-to-cart",e=>{try{if(pmw.canNotFireFbq())return;if(!pmw.shouldFireBrowserPixel(e,"facebook"))return;const a=e.pixels?.facebook;if(!a)return void pmw.console.log("Facebook: No data in payload for add_to_cart event");fbq("track",a.event_name,a.custom_data,{eventID:a.event_id}),pmw.console.log("Facebook Pixel: AddToCart event sent",a)}catch(e){console.error(e)}}),pmw.bus.on("pmw:pixel:begin-checkout",e=>{try{if(pmw.canNotFireFbq())return;if(!pmw.shouldFireBrowserPixel(e,"facebook"))return;const a=e.pixels?.facebook;if(!a)return;fbq("track",a.event_name,a.custom_data,{eventID:a.event_id}),pmw.console.log("Facebook Pixel: InitiateCheckout event sent",a)}catch(e){console.error(e)}}),pmw.bus.on("pmw:pixel:add-payment-info",e=>{try{if(pmw.canNotFireFbq())return;if(!pmw.shouldFireBrowserPixel(e,"facebook"))return;const a=e.pixels?.facebook;if(!a)return;fbq("track",a.event_name,a.custom_data,{eventID:a.event_id}),pmw.console.log(`Facebook Pixel: ${a.event_name} event sent`,a)}catch(e){console.error(e)}}
2),pmw.bus.on("pmw:pixel:add-to-wishlist",e=>{try{if(pmw.canNotFireFbq())return;if(!pmw.shouldFireBrowserPixel(e,"facebook"))return;const a=e.pixels?.facebook;if(!a)return;fbq("track",a.event_name,a.custom_data,{eventID:a.event_id}),pmw.console.log("Facebook Pixel: AddToWishlist event sent",a)}catch(e){console.error(e)}}),pmw.bus.on("pmw:pixel:view-item",e=>{try{if(pmw.canNotFireFbq())return;if(!pmw.shouldFireBrowserPixel(e,"facebook"))return;const a=e.pixels?.facebook;if(!a)return;fbq("track",a.event_name,a.custom_data,{eventID:a.event_id}),pmw.console.log("Facebook Pixel: ViewContent event sent",a)}catch(e){console.error(e)}}),pmw.bus.on("pmw:pixel:search",e=>{try{if(pmw.canNotFireFbq())return;if(!pmw.shouldFireBrowserPixel(e,"facebook"))return;const a=e.pixels?.facebook;if(!a)return;fbq("track",a.event_name,a.custom_data,{eventID:a.event_id}),pmw.console.log("Facebook Pixel: Search event sent",a)}catch(e){console.error(e)}}),pmw.bus.on("pmw:load-always",()=>{try{if(pmw.canNotFireFbq())return;pmw.setFbUserData()}catch(e){console.error(e)}}),pmw.bus.on("pmw:pixel:purchase",e=>{try{if(pmw.canNotFireFbq())return;if(!pmw.shouldFireBrowserPixel(e,"facebook"))return;const a=e.pixels?.facebook;if(!a)return;fbq("track",a.event_name,a.custom_data,{eventID:a.event_id}),pmw.console.log("Facebook Pixel: Purchase event sent",a)}catch(e){console.error(e)}}),document.addEventListener("pmw:consent:update",({detail:e})=>{const a=e;try{if(!pmwDataLayer?.pixels?.facebook?.loaded)return;const e=a.marketing?"grant":"revoke";fbq("consent",e),pmw.console.log(`Facebook Consent Mode updated: ${e}`)}catch(e){console.error(e)}},!0)},8263(e,a,t){"use strict";t.r(a);t(4423);!function(e){let a,t=null;e.fbeventsJsUrl=()=>{let e=new URLSearchParams(window.location.search);return e.has("fbevents-version")?`https://connect.facebook.net/en_US/fbevents.js?v=${e.get("fbevents-version")}`:pmwDataLayer?.pixels?.facebook?.fbevents_js_url},e.getFacebookPixelIds=()=>Array.isArray(pmwDataLayer?.pixels?.facebook?.pixel_ids)&&pmwDataLayer.pixels.facebook.pixel_ids.length?pmwDataLayer.pixels.facebook.pixel_ids:[pmwDataLayer.pixels.facebook.pixel_id],e.isForeignFbqStub=()=>void 0!==window.fbq&&"function"!=typeof window.fbq.callMethod&&!0!==window.fbq.loaded,e.isFbAutoConfigDisabled=e=>{let a=pmwDataLayer?.pixels?.facebook?.auto_config_disabled_pixel_ids;return!!Array.isArray(a)&&a.map(String).includes(String(e))},e.getFbRestrictedEventNames=e=>{try{if(void 0===window.fbq||!window.fbq.instance||!window.fbq.instance.pluginConfig)return null;let a=window.fbq.instance.pluginConfig.get(e,"eventValidation");return a?Array.isArray(a.restrictedEventNames)?a.restrictedEventNames:[]:null}catch(e){return null}},e.warnOnFbRestrictedEvents=(a,t=0)=>{let o=a.filter(a=>{let t=e.getFbRestrictedEventNames(a);return null===t||(t.length&&e.console.warn("Facebook Pixel "+a+": Meta restricts the following events for this pixel because of its business category (e.g. health and wellness): "+t.join(", ")+". fbevents.js silently drops these events in the browser and Meta also filters them on the Conversion API, so they will not show up in Meta even though the Pixel Manager sends them. This is enforced by Meta and not caused by the Pixel Manager. Review the business category of the pixel in the Meta Events Manager (Data sources -> select the pixel -> Settings -> Manage data source categories, and Manage event blocking). More information: https://sweetcode.com/docs/pmw/troubleshooting#meta-silently-drops-addtocart-initiatecheckout-and-purchase-restricted-business-category"),!1)});!o.length||t>=15||setTimeout(()=>e.warnOnFbRestrictedEvents(o,t+1),1e3)},e.loadFacebookPixel=()=>{try{e.isForeignFbqStub()&&e.console.warn("Facebook Pixel: another script has already defined window.fbq before the Pixel Manager loaded it. fbevents.js will not be loaded by the standard Meta bootstrap, so the browser pixel cannot track. Remove or fix the conflicting script."),a=window,t=document,o="script",r=e.fbeventsJsUrl(),a.fbq||(n=a.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)},a._fbq||(a._fbq=n),n.push=n,n.loaded=!0,n.version="2.0",n.queue=[],(i=t.createElement(o)).async=!0,i.src=r,(s=t.getElementsByTagName(o)[0]).parentNode.insertBefore(i,s));let c=document.querySelector('script[src*="fbevents.js"]');c&&(c.onload=()=>{e.setFbUserData()},c.onerror=()=>{e.console.error("Facebook Pixel: fbevents.js failed to load")});let l={};e.isFbAdvancedMatchingEnabled()&&(l={...e.getUserIdentifiersForFb()}
2),e.getFacebookPixelIds().forEach(a=>{e.isFbAutoConfigDisabled(a)&&fbq("set","autoConfig",!1,a),fbq("init",a,l)}),pmwDataLayer?.pixels?.facebook?.mobile_bridge_app_id&&fbq("set","mobileBridge",pmwDataLayer.pixels.facebook.pixel_id,pmwDataLayer?.pixels?.facebook?.mobile_bridge_app_id),e.warnOnFbRestrictedEvents(e.getFacebookPixelIds()),pmwDataLayer.pixels.facebook.loaded=!0}catch(o){console.error(o)}var a,t,o,r,n,i,s},e.getUserIdentifiersForFb=()=>{let e={};return pmwDataLayer?.user?.id?.raw&&(e.external_id=pmwDataLayer.user.id.raw),pmwDataLayer?.order?.user_id&&(e.external_id=pmwDataLayer.order.user_id),pmwDataLayer?.user?.email?.facebook&&(e.em=pmwDataLayer.user.email.facebook),pmwDataLayer?.order?.billing_email_hashed&&(e.em=pmwDataLayer.order.billing_email_hashed),pmwDataLayer?.user?.first_name?.facebook&&(e.fn=pmwDataLayer.user.first_name.facebook),pmwDataLayer?.order?.billing_first_name&&(e.fn=pmwDataLayer.order.billing_first_name.toLowerCase()),pmwDataLayer?.user?.last_name?.facebook&&(e.ln=pmwDataLayer.user.last_name.facebook),pmwDataLayer?.order?.billing_last_name&&(e.ln=pmwDataLayer.order.billing_last_name.toLowerCase()),pmwDataLayer?.user?.phone?.facebook&&(e.ph=pmwDataLayer.user.phone.facebook),pmwDataLayer?.order?.billing_phone&&(e.ph=pmwDataLayer.order.billing_phone.replace("+","")),pmwDataLayer?.user?.city?.facebook&&(e.ct=pmwDataLayer.user.city.facebook),pmwDataLayer?.order?.billing_city&&(e.ct=pmwDataLayer.order.billing_city.toLowerCase().replace(/ /g,"")),pmwDataLayer?.user?.state?.facebook&&(e.st=pmwDataLayer.user.state.facebook),pmwDataLayer?.order?.billing_state&&(e.st=pmwDataLayer.order.billing_state.toLowerCase().replace(/[a-zA-Z]{2}-/,"")),pmwDataLayer?.user?.postcode?.facebook&&(e.zp=pmwDataLayer.user.postcode.facebook),pmwDataLayer?.order?.billing_postcode&&(e.zp=pmwDataLayer.order.billing_postcode),pmwDataLayer?.user?.country?.facebook&&(e.country=pmwDataLayer.user.country.facebook),pmwDataLayer?.order?.billing_country&&(e.country=pmwDataLayer.order.billing_country.toLowerCase()),e},e.getFbUserData=()=>(a={...a,...e.getFbUserDataFromBrowser()},a),e.isFbAdvancedMatchingEnabled=()=>!!pmwDataLayer?.pixels?.facebook?.advanced_matching,e.waitForFbp=(a=1e3,o=50)=>{let r=e.getCookie("_fbp");return e.isValidFbp(r)?Promise.resolve(r):t||(t=new Promise(r=>{let n=0;const i=()=>{let s=e.getCookie("_fbp");return e.isValidFbp(s)?(e.console.log("Facebook Pixel: _fbp cookie found after "+n+"ms"),t=null,void r(s)):(n+=o,n>=a?(e.console.log("Facebook Pixel: Timeout waiting for _fbp cookie after "+a+"ms"),t=null,void r(null)):void setTimeout(i,o))};i()}),t)},e.setFbUserData=async()=>{await e.waitForFbp(),a=e.getFbUserDataFromBrowser()},e.getFbUserDataFromBrowser=()=>{let a={},t=e.getCookie("_fbp");e.isValidFbp(t)&&(a.fbp=t);let o=e.getCookie("_fbc")||e.retrieveData("fbclid");e.isValidFbc(o)&&(a.fbc=o),e.isFbAdvancedMatchingEnabled()&&(pmwDataLayer?.user?.email?.facebook&&(a.em=pmwDataLayer.user.email.facebook),pmwDataLayer?.user?.phone?.facebook&&(a.ph=pmwDataLayer.user.phone.facebook),pmwDataLayer?.user?.first_name?.facebook&&(a.fn=pmwDataLayer.user.first_name.facebook),pmwDataLayer?.user?.last_name?.facebook&&(a.ln=pmwDataLayer.user.last_name.facebook),pmwDataLayer?.user?.city?.facebook&&(a.ct=pmwDataLayer.user.city.facebook),pmwDataLayer?.user?.state?.facebook&&(a.st=pmwDataLayer.user.state.facebook),pmwDataLayer?.user?.postcode?.facebook&&(a.zp=pmwDataLayer.user.postcode.facebook),pmwDataLayer?.user?.country?.facebook&&(a.country=pmwDataLayer.user.country.facebook),pmwDataLayer?.user?.id?.raw&&(a.external_id=pmwDataLayer.user.id.raw)),navigator.userAgent&&(a.client_user_agent=navigator.userAgent);const r=e.retrieveData("client_ip")||e.retrieveData("ipv6")||e.retrieveData("ip");return r&&e.isValidIpAddress&&e.isValidIpAddress(r)&&(a.client_ip_address=r),a},e.isFbpSet=()=>!!e.getCookie("_fbp"),e.isValidFbp=e=>new RegExp(/^fb\.[0-2]\.\d{13}\.\d{8,20}$/).test(e),e.isValidFbc=e=>new RegExp(/^fb\.[0-2]\.\d{13}\.[\da-zA-Z_-]{8,}/).test(e),e.fbGetProductDataForCapiEvent=a=>({content_type:"product",content_name:a.name,content_ids:[a.dyn_r_ids[pmwDataLayer.pixels.facebook.dynamic_remarketing.id_type]],value:parseFloat(a.quantity*a.price),currency:e.getProductCurrency(a)}),e.facebookContentIds=()=>{let a=[];
2return Object.values(pmwDataLayer.order.items).forEach(t=>{const o=pmwDataLayer?.shop?.variations_output&&0!==t.variation_id?t.variation_id:t.id,r=e.getDataLayerProduct(o);r?a.push(String(r.dyn_r_ids[pmwDataLayer.pixels.facebook.dynamic_remarketing.id_type])):e.console.warn("Facebook: skipped an order item without product data: "+o)}),a},e.trackCustomFacebookEvent=(a,t={})=>{try{if(e.canNotFireFbq())return;let o=e.getRandomEventId();fbq("trackCustom",a,t,{eventID:o}),e.console.log("Facebook Pixel: Custom event sent",a,t);let r={facebook:{event_name:a,event_id:o,user_data:e.getFbUserData(),event_source_url:window.location.href}};Object.keys(t).length&&(r.facebook.custom_data=t),e.sendEventPayloadToServer(r)}catch(e){console.error(e)}},e.fbGetContentIdsFromCart=()=>{let a=[];for(const t in pmwDataLayer.cart){const o=e.getProductIdForSpecificPixel(pmwDataLayer.cart[t],"facebook");null!==o&&a.push(o)}return a},e.canFireFbq=()=>!!pmwDataLayer?.pixels?.facebook?.loaded&&!!e.consent.categories.get().marketing,e.canNotFireFbq=()=>!e.canFireFbq()}(window.pmw=window.pmw||{})},8767(e,a,t){t(5165),t(8263),t(2028)}}]); 3//# sourceMappingURL=pixel-facebook.92148e0d.chunk.min.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.