1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[62563],{49843:(n,e,t)=>{function r(n,e){var t="/audit/report/".concat(encodeURIComponent(n));return e&&e>1?"".concat(t,"?step=").concat(e):t}function o(n,e){var t=function(n){return(n||"").replace(/\D/g,"")},o=(null!=n?n:[]).filter(function(n){return"completed"===n.status}).sort(function(n,e){return new Date(e.createdAt).getTime()-new Date(n.createdAt).getTime()}),a=t(e),u=a&&o.find(function(n){return t(n.customerId)===a})||o[0];return u?r(u.auditId):"/audit/history"}t.d(e,{h:()=>r,m:()=>o})},62563:(n,e,t)=>{t.d(e,{A7:()=>S,KI:()=>O,Ne:()=>C,OC:()=>Y,PE:()=>nc,P_:()=>k,Pw:()=>nt,QK:()=>M,QO:()=>nr,Ro:()=>nn,Ry:()=>A,Sn:()=>nu,TG:()=>s,U9:()=>d,V6:()=>na,Vh:()=>D,Wx:()=>x,XV:()=>g,aH:()=>H,ci:()=>N,fi:()=>p,gI:()=>E,gv:()=>ne,hq:()=>T,jQ:()=>_,jt:()=>m,m8:()=>j,n2:()=>J,nt:()=>h,p7:()=>w,qD:()=>y,qj:()=>q,t5:()=>$,ud:()=>l,ui:()=>Q,vO:()=>P,yj:()=>v});var r=t(82732),o=t(45849),a=t(22043),u=t(45377),c=t(49843),i=t(60431),l=new Set(["CONVERSION_CONFIG"]);function s(n,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;try{return new Intl.NumberFormat("en-US",{style:"currency",currency:e||"USD",minimumFractionDigits:t,maximumFractionDigits:t}).format(n)}catch(r){return"".concat(n.toFixed(t)," ").concat(e)}}function d(n){return Math.round(n).toLocaleString("en-US")}function v(n){return n.replace(/\s*[ââ]\s*/g,", ")}function f(){return new Date().toISOString().slice(0,10)}function p(n,e){return new Date(Date.parse(n)+864e5*e).toISOString().slice(0,10)}function g(n){return new Date("".concat(n,"T12:00:00Z")).toLocaleDateString("en-GB",{day:"numeric",month:"short",timeZone:"UTC"})}function y(n,e){var t=g(n),r=g(e);return n.slice(0,7)===e.slice(0,7)?"".concat(t.split(" ")[0]," to ").concat(r):"".concat(t," to ").concat(r)}function h(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:f();return n===e?"today":n===p(e,-1)?"yesterday":"on ".concat(g(n))}function m(n){var e=new Map,t=!0,r=!1,o=void 0;try{for(var a,u=n[Symbol.iterator]();!(t=(a=u.next()).done);t=!0)!function(){var n=a.value.daily;if(n)n.dates.forEach(function(t,r){var o,a,u,c,i=null!=(o=e.get(t))?o:{cost:0,conv:0,value:0};i.cost+=null!=(a=n.cost[r])?a:0,i.conv+=null!=(u=n.conversions[r])?u:0,i.value+=null!=(c=n.value[r])?c:0,e.set(t,i)})}()}catch(n){r=!0,o=n}finally{try{t||null==u.return||u.return()}finally{if(r)throw o}}return e}function S(n,e){var t=m(n.campaigns);if(0===t.size)return null;var o=e&&t.has(e)?e:(0,u._)(t.keys()).sort().pop(),a=t.get(o);return(0,r._)({day:o},a)}var _={spend:"Spend",value:"Sales value",conv:"Sales",roas:"ROAS"};function b(n,e){if(!n)return 0;switch(e){case"spend":return n.cost;case"value":return n.value;case"conv":return n.conv;case"roas":return n.cost>0?n.value/n.cost:0}}function E(n,e,t){return"spend"===e||"value"===e?s(n,t):"roas"===e?(0,i.C)(n):n>=100||Number.isInteger(n)?d(n):n.toFixed(1)}function A(n,e,t){for(var r=0,o=0,a=0,u=0,c=0;c<t;c++){var i=n.get(p(e,-c));i&&(u++,r+=i.cost,o+=i.conv,a+=i.value)}return{cost:r,conv:o,value:a,synced:u}}function w(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:f(),t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"spend",r=e.slice(0,7),o=(0,a._)(r.split("-").map(Number),2),c=new Date(Date.UTC(o[0],o[1],0)).getUTCDate(),i=Number(e.slice(8,10)),l=m(n.campaigns),s=(0,u._)(l.keys()).filter(function(n){return n.startsWith(r)}).sort();if(0===s.length)return null;var d=s[s.length-1],v=Number(d.slice(8,10));if("spend"===t){var p,g,y=null!=(g=n.mtdSpend)?g:0;p=i>=3?y/i:null}else{var h=A(l,d,7);p=0===h.synced?null:"roas"===t?h.cost>0?h.value/h.cost:null:b(h,t)/7}for(var S=[],_=1;_<=c;_++){var E="".concat(r,"-").concat(String(_).padStart(2,"0"));_<v?S.push({day:E,value:b(l.get(E),t),kind:"spent"}):_===v?S.push({day:E,value:b(l.get(E),t),kind:"latest"}):null!=p&&S.push({day:E,value:p,kind:"expected"})}return{bars:S,daysInMonth:c,dayOfMonth:i}}var N=["month","30","60","90"],O={month:"This month",30:"Last 30 days",60:"Last 60 days",90:"Last 90 days"},D={spend:"Spent",value:"Sales value",conv:"Sales",roas:"ROAS"};function I(n,e,t){var r=0,o=0,a=0,u=!0,c=!1,i=void 0;try{for(var l,s=n[Symbol.iterator]();!(u=(l=s.next()).done);u=!0){var d=l.value,v=e.get(d);v&&(r+=v.cost,o+=v.conv,a+=v.value)}}catch(n){c=!0,i=n}finally{try{u||null==s.return||s.return()}finally{if(c)throw i}}return"roas"===t?r>0?a/r:0:b({cost:r,conv:o,value:a},t)}function x(n,e,t){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:f(),o=m(n.campaigns);if("month"===e){var a=w(n,r,t);if(!a)return null;var c=a.bars.filter(function(n){return"expected"!==n.kind}).map(function(n){return n.day}),i=a.bars.filter(function(n){return"expected"===n.kind}),l=I(c,o,t),s=null;if(i.length>0||c.length===a.daysInMonth)if("roas"===t){var d=A(o,c[c.length-1],7),v=i.length,g=0,y=0,h=!0,S=!1,_=void 0;try{for(var E,N=c[Symbol.iterator]();!(h=(E=N.next()).done);h=!0){var O,D,x,C,k=E.value;g+=null!=(x=null==(O=o.get(k))?void 0:O.cost)?x:0,y+=null!=(C=null==(D=o.get(k))?void 0:D.value)?C:0}}catch(n){S=!0,_=n}finally{try{h||null==N.return||N.return()}finally{if(S)throw _}}g+=d.cost/7*v,y+=d.value/7*v,s=g>0?y/g:null}else s=l+i.reduce(function(n,e){return n+e.value},0);var P=r.slice(0,7);return{bars:a.bars,slots:a.daysInMonth,from:"".concat(P,"-01"),to:"".concat(P,"-").concat(String(a.daysInMonth).padStart(2,"0")),total:l,dailyAvg:function(n,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:f(),r=w(n,t,e);if(!r)return null;var o=r.bars.filter(function(n){return"expected"!==n.kind});if(0===o.length)return null;if("roas"===e){var a=m(n.campaigns),u=0,c=0,i=!0,l=!1,s=void 0;try{for(var d,v=o[Symbol.iterator]();!(i=(d=v.next()).done);i=!0){var p,g,y=d.value,h=a.get(y.day);u+=null!=(p=null==h?void 0:h.cost)?p:0,c+=null!=(g=null==h?void 0:h.value)?g:0}}catch(n){l=!0,s=n}finally{try{i||null==v.return||v.return()}finally{if(l)throw s}}return u>0?c/u:0}return o.reduce(function(n,e){return n+e.value},0)/o.length}(n,t,r),projection:s,dayOfMonth:a.dayOfMonth,daysInMonth:a.daysInMonth}}if(0===o.size)return null;for(var M=(0,u._)(o.keys()).sort(),R=M[0],T=M[M.length-1],U=Number(e),G=[],V=U-1;V>=0;V--){var j=p(T,-V);j>=R&&G.push(j)}var L=G.map(function(n){return{day:n,value:b(o.get(n),t),kind:n===T?"latest":"spent"}}
1),F=I(G,o,t);return{bars:L,slots:L.length,from:G[0],to:T,total:F,dailyAvg:"roas"===t?F:F/G.length,projection:null,dayOfMonth:null,daysInMonth:null}}function C(n){return n.length<2?[]:n.flatMap(function(e,t){return t>0&&e.day.endsWith("-01")?[{day:e.day,left:t/n.length*100}]:[]})}function k(n){var e=n.monthlyBudget,t=n.projectedMonthEnd,r=n.currency;switch(n.pacingStatus){case"over":return{tone:"crit",text:"Already over your budget"};case"projected-over":return null!=t?{tone:"med",text:"Heading ".concat(s(t-e,r)," over")}:{tone:"med",text:"Heading over budget"};case"under":return null!=t?{text:"Under budget: heading for ".concat(s(t,r)," of ").concat(s(e,r))}:{text:"Under budget"};case"on-track":if(null==t)return{tone:"good",text:"On track so far"};return t<=e?{tone:"good",text:"On track, ".concat(s(e-t,r)," under")}:{tone:"good",text:"On track, ".concat(s(t-e,r)," over")};default:return null}}function P(n){return n>=80?{tone:"good",text:"Excellent"}:n>=60?{tone:"good",text:"Good"}:n>=40?{tone:"med",text:"Needs work"}:{tone:"crit",text:"Critical"}}function M(n){var e,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=(null!=(e=n.source_id)?e:"").indexOf(":"),o=r>0?n.source_id.slice(r+1):"",a=o?t[o]:void 0;return null!=a&&a>0?a:null}function R(n){var e,t=(null!=(e=n.source_id)?e:"").indexOf(":");return t>0&&n.source_id.slice(t+1)||null}function T(n,e){var t=(0,c.h)(n,5),r=R(e);return r?"".concat(t,"#fix-").concat(encodeURIComponent(r)):t}var U={AD_DISAPPROVED:"Some ads flagged by Google",BRAND_LEAK_PMAX:"PMax paying for your brand name",BUDGET_CAPPED:"Budget runs out early",BUDGET_OVERSPEND:"On pace to overspend",BUDGET_UNDERSPEND:"Budget not being spent",CAMPAIGN_DARK:"A campaign stopped showing ads",CONVERSION_DROP:"Conversions dropped",CONVERSION_ZERO_DAY:"No conversions yesterday",CPA_SPIKE:"Each conversion costs more",FEED_DISAPPROVAL:"Products rejected by Google",KEYWORD_DUPLICATE:"Same keyword in 2 places",KEYWORD_NEGATIVE_CONFLICT:"Negative keyword blocking keywords",NEGATIVE_LIST_GAP:"Missing negative keywords",PAUSED_CAMPAIGN_SPENDING:"Paused campaign still spent",ROAS_DECLINE:"ROAS dropped",SEARCH_TERM_WASTE:"Money on searches with no results",SPEND_CRASH:"Spend dropped sharply",SPEND_SPIKE:"Spend jumped sharply"},G=function(n){return n.toLowerCase().replace(/[^a-z0-9]+/g,"")};function V(n){return String(null!=n?n:"").replace(/\b1\s+([A-Za-z-]+)\((?:s|es)\)/g,"1 $1").replace(/\((s|es)\)/g,"$1").trim()}var j=function(n){return"lead_gen"===n?"lead":"sale"};function L(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"sale";return n.replace(/\b(?:target\s*|t)CPA\b/gi,"target cost per ".concat(e)).replace(/\bCPAs\b/gi,"costs per ".concat(e)).replace(/\bCPA\b/gi,"cost per ".concat(e))}var F=[/\s+in\s+(?:Google\s+)?Merchant\s+Cent(?:er|re)\b.*$/i,/\s+(?:vs\.?|versus|compared\s+(?:to|with))\s+(?:the\s+|its\s+|your\s+)?(?:\S+\s+)?(?:average|avg)\b.*$/i],K=/\s+(?:in|of|the|and|or|for|to|on|at|by|with|a|an|vs|from|than|per|is|are)$/i,B=function(n){return n.replace(/[\s,;:|\-]+$/,"")},W=function(n){return n.charAt(0).toUpperCase()+n.slice(1)};function z(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:40,t=n.trim(),r=!0,o=!1,a=void 0;try{for(var u,c=F[Symbol.iterator]();!(r=(u=c.next()).done);r=!0){var i=u.value,l=t.replace(i,"");l.trim()&&(t=l)}}catch(n){o=!0,a=n}finally{try{r||null==c.return||c.return()}finally{if(o)throw a}}if((t=B(t)).length<=e)return t;for(var s=t.slice(0,e+1),d=s.lastIndexOf(" "),v=d>0?s.slice(0,d):t.slice(0,e);K.test(v);)v=v.replace(K,"");return B(v)}function $(n){var e,t,r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:40,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"sale",u=n.title.trim(),c=null!=(r=n.signalType)?r:null;if(!((e=G(u))&&(c&&e===G(c)||Object.keys(U).some(function(n){return G(n)===e}))))return W(z(L(u,a),o));var i=z(L((null!=(t=V(n.sentence).split(/\s[ââ-]\s|;\s|\.\s|\.$|\s\(|:\s/)[0])?t:"").trim(),a),Number.MAX_SAFE_INTEGER);if(i&&/\d/.test(i)&&i.length<=o)return W(i);var l=c?c.toUpperCase():Object.keys(U).find(function(n){return G(n)===G(u)});return"CPA_SPIKE"===l?"Cost per ".concat(a," went up"):l&&U[l]||W(z(L(u,a),o))}function H(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"sale",t=V(n.sentence);return t?W(L(t,e)):$(n,500,e)}function Q(n){var e=new URLSearchParams({alert:n.id});return n.title&&e.set("t",n.title.slice(0,120)),"/audit/inbox?".concat(e.toString())}var X={critical:0,warning:1,opportunity:2,positive:3},Z=function(n){return"critical"===n.severity&&"tracking-blind-spots"===n.business_theme};function q(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return n.filter(function(n){return"positive"!==n.severity}).sort(function(n,t){var r,o,a=+!Z(n),u=+!Z(t);if(a!==u)return a-u;var c=null!=(r=M(n,e))?r:-1,i=null!=(o=M(t,e))?o:-1;return c!==i?i-c:X[n.severity]-X[t.severity]})}function Y(n,e){if(!e||0===e.size)return n;var t=function(n){var t,r;return null!=(r=e.get(null!=(t=R(n))?t:""))?r:1/0};return n.map(function(n,e){return{f:n,i:e,n:t(n)}}).sort(function(n,e){return n.n===e.n?n.i-e.i:n.n<e.n?-1:1}).map(function(n){return n.f})}function J(n,e){if(!e||0===e.size)return n;var t=new Set;return n.filter(function(n){var r,o=e.get(null!=(r=R(n))?r:"");return null==o||!t.has(o)&&(t.add(o),!0)})}function nn(n,e){var t;return e?e.has(null!=(t=R(n))?t:""):Z(n)}function ne(n,e,t){var r,o;return t&&0!==t.size?null!=(o=t.get(null!=(r=R(n))?r:""))?o:null:e+1}var nt={"wasted-money":"Stop waste","missed-customers":"More customers","tracking-blind-spots":"Tracking","easy-wins":"Easy win"},nr={easy:"Quick fix",moderate:"Some effort","needs-expert":"Needs an expert"},no=["disapproved","demoted","price_opportunity"];function na(n){var e,t=null==(e=n.issues.find(function(n){return"disapproved"===n.key}))?void 0:e.count;return null!=t?t:n.issues.some(function(n){return no.includes(n.key)&&n.count>0})?0:null}function nu(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5,t=n.currency,a=n.campaigns.filter(function(n){return"enabled"===n.status&&n.cost>0}).sort(function(n,e){return e.cost-n.cost}),u=a.reduce(function(n,e){return n+e.conversions},0),c=a.reduce(function(n,e){return n+e.cost},0),l=a.reduce(function(n,e){return n+e.conversionValue},0),v=u>0?c/u:null,f=c>0&&l>0?l/c:null,p="ecommerce"===n.objective,g=a.filter(function(n){return n.conversions>0}).length,y=function(n,e){return"".concat(d(n)," ").concat(e).concat(1===Math.round(n)?"":"s")};return a.slice(0,e).map(function(n){var e=s(n.cost,t),u={id:n.id,name:n.name};if(p){if(n.conversionValue<=0)return n.conversions>0?(0,o._)((0,r._)({},u),{sentence:"Spent ".concat(e,", ").concat(y(n.conversions,"conversion"),", but no sale value is recorded."),verdict:"We can't tell yet"}):null!=v&&n.cost>=2*v?(0,o._)((0,r._)({}
1,u),{sentence:"Spent ".concat(e,", no sales recorded yet."),tone:"crit",verdict:"No sales yet"}):(0,o._)((0,r._)({},u),{sentence:"Spent ".concat(e,", no sales recorded yet."),verdict:"We can't tell yet"});var c=n.conversionValue/n.cost,l="Spent ".concat(e,", ROAS ").concat((0,i.C)(c),"."),d=null!=f&&a.length>1&&Math.abs(c-f)/f>=.1?"ROAS ".concat(c>f?"above":"below"," your account average."):void 0;return c>=1?(0,o._)((0,r._)({},u),{sentence:l,tone:"good",verdict:"Making money",note:d}):(0,o._)((0,r._)({},u),{sentence:l,tone:"crit",verdict:"Losing money",note:d})}if(n.conversions<=0)return(0,o._)((0,r._)({},u),{sentence:"Spent ".concat(e,", no leads yet."),verdict:"No leads yet"});var h=n.cost/n.conversions,m=g>=2&&null!=v&&Math.abs(h-v)/v>=.1?"Costs ".concat(h>v?"more":"less"," per lead than your account average."):void 0;return(0,o._)((0,r._)({},u),{sentence:"Spent ".concat(e,", ").concat(y(n.conversions,"lead")," at ").concat(s(h,t)," each."),verdict:"".concat(s(h,t)," per lead"),note:m})})}function nc(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5,t=nu(n,Number.MAX_SAFE_INTEGER);if(t.length<=e)return t;var r=new Map(n.campaigns.map(function(n){return[n.id,n]})),o="ecommerce"===n.objective,a=function(n){var e=r.get(n);return e?o?e.conversionValue>0?e.conversionValue/e.cost:null:e.conversions>0?-(e.cost/e.conversions):null:null},u=t.map(function(n){return{id:n.id,s:a(n.id)}}).filter(function(n){return null!=n.s}),c=null!=(p=null==(f=t.find(function(n){return null==a(n.id)}))?void 0:f.id)?p:null,i=[u.length>0?u.reduce(function(n,e){return e.s>n.s?e:n}).id:null,null!=c?c:u.length>=2?u.reduce(function(n,e){return e.s<n.s?e:n}).id:null].filter(function(n,e,t){return!!n&&t.indexOf(n)===e});if(0===i.length)return t.slice(0,e);var l=t.slice(0,e).map(function(n){return n.id}),s=!0,d=!1,v=void 0;try{for(var f,p,g,y=i[Symbol.iterator]();!(s=(g=y.next()).done);s=!0){var h=g.value;if(!l.includes(h)){for(var m=l.length-1;m>=0;m--)if(!i.includes(l[m])){l.splice(m,1);break}l.push(h)}}}catch(n){d=!0,v=n}finally{try{s||null==y.return||y.return()}finally{if(d)throw v}}return t.filter(function(n){return l.includes(n.id)})}}}]);
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.