{"id":569,"date":"2026-04-02T07:43:53","date_gmt":"2026-04-02T07:43:53","guid":{"rendered":"https:\/\/digital-marketing-audit.com\/hoe-voert-u-een-digitale-marketingaudit-uit\/"},"modified":"2026-04-29T19:51:40","modified_gmt":"2026-04-29T19:51:40","slug":"hoe-voert-u-een-digitale-marketingaudit-uit","status":"publish","type":"post","link":"https:\/\/digital-marketing-audit.com\/nl\/hoe-voert-u-een-digitale-marketingaudit-uit\/","title":{"rendered":"Hoe voert u een digitale marketingaudit uit?"},"content":{"rendered":"\n<p>Het uitvoeren van digitale marketingaudits voor grote merken zoals <strong>BMW<\/strong>, <strong>Domino&#8217;s<\/strong>, <strong>Watsons<\/strong> en <a href=\"https:\/\/digitaladvicelab.com\/references?ref=digital-marketing-audit.com\">vele <\/a><a href=\"https:\/\/digitaladvicelab.com\/references\" rel=\"nofollow noopener\" target=\"_blank\">andere<\/a> heeft mij het volgende geleerd:<\/p>\n\n<p>De meeste digitale marketinginspanningen verspillen stilletjes tussen de 15% en 30% van hun budget. Niet vanwege een slechte strategie, maar omdat niemand de infrastructuur heeft gecontroleerd. <\/p>\n\n<p>Een aanzienlijk deel van deze verspilling kan worden opgevangen door lichtgewicht scripts voordat het u een cent kost. Zeker bij Google Ads.<\/p>\n\n<h2 class=\"wp-block-heading\">Audit in de context van digitale marketing&#8230;<\/h2>\n\n<p>Het woord <strong>Audit<\/strong> komt van het Latijnse <em>aud\u012bre<\/em>, wat &#8220;horen&#8221; betekent. De zelfstandig naamwoordvorm <em>auditus<\/em> betekende &#8220;een gehoor&#8221; \u2014 en cruciaal in de middeleeuwse boekhoudpraktijk was dat financi\u00eble rekeningen letterlijk <em>hardop werden voorgelezen<\/em> aan een magistraat of functionaris die ze zou <em>horen<\/em> en bevestigen dat ze correct waren. Die mondelinge handeling van verificatie gaf ons <em>auditus compoti<\/em> (&#8220;een verhoor van rekeningen&#8221;), wat rond de 15e eeuw het Engels binnenkwam als <em>audit<\/em>.<\/p>\n\n<p>Dit is de reden waarom we nog steeds spreken over auditors die boeken &#8220;controleren&#8221;, maar de oorspronkelijke handeling was akoestisch. Dezelfde Proto-Indo-Europese wortel <em>*au-<\/em> (&#8220;waarnemen, begrijpen&#8221;) gaf ons ook <em>audio<\/em>, <em>audience<\/em>, <em>auditorium<\/em> en <em>audible<\/em> \u2014 allemaal woorden waarbij horen centraal staat.<\/p>\n\n<p>In deze context is een digitale marketingaudit een verhoor van digitale marketingaccounts. <\/p>\n\n<p><strong>Een audit vereist meetbare criteria waartegen iets wordt ge\u00ebvalueerd.<\/strong> Zonder dat is het slechts een mening.<\/p>\n\n<p>Dus &#8220;uw social media-berichten zijn waardeloos&#8221; is een opvatting. Maar &#8220;uw gemiddelde betrokkenheidspercentage is 0,4% tegenover een branchebenchmark van 2,1%&#8221; \u2014 dat is audit-terrein. Dezelfde observatie, een volledig andere epistemische status.<\/p>\n\n<h2 class=\"wp-block-heading\">Een digitale marketingaudit vereist kwantitatief werk en objectiviteit.<\/h2>\n\n<p>Een goede digitale marketingaudit moet defini\u00ebren <strong>wat er gemeten wordt voordat het gemeten wordt<\/strong> \u2014 anders bent u achteraf een oordeel aan het onderbouwen met cijfers. De criteria komen eerst, de beoordeling volgt.<\/p>\n\n<p>Dit is de reden waarom digitale marketingaudits zich vaak concentreren op de kanalen die het meest meetbaar zijn:<\/p>\n\n<ul class=\"wp-block-list\">\n<li><strong>Paid media<\/strong> (PPC, betaalde social media) \u2014 zeer goed controleerbaar, alles wordt bijgehouden<\/li>\n\n\n\n<li><strong>SEO<\/strong> \u2014 rankings, crawlbaarheid, backlinkprofielen, Core Web Vitals<\/li>\n\n\n\n<li><strong>E-mail<\/strong> \u2014 open rates, CTR, lijstgezondheid, afleverbaarheid<\/li>\n\n\n\n<li><strong>Website\/CRO<\/strong> \u2014 verkeer, bounce, conversietrechters<\/li>\n<\/ul>\n\n<p>En waarom de &#8220;kwaliteit van social media-content&#8221; het lastigst eerlijk te auditen is \u2014 esthetiek en toon laten zich moeilijk kwantificeren, dus de meeste audits slaan dit over of gebruiken betrokkenheidsstatistieken als proxy, wat de juiste aanpak is.<\/p>\n\n<h2 class=\"wp-block-heading\">Google Ads zijn het makkelijkst te auditen &#8211; ondanks de black boxes. <\/h2>\n\n<p>Google biedt een unieke tool die geen enkel ander self-service platform biedt: de Google Ads scripts-module. <\/p>\n\n<p>Wat deze module uniek maakt, is dat u geen externe bibliotheken of tools van derden nodig heeft om deze in te stellen. U hoeft geen API-aanvraagprocessen of authenticatie te doorlopen. Als u toegang heeft tot het Google Ads-account zelf, heeft u al toegang tot de scriptomgeving.<\/p>\n\n<p>Bij het uitvoeren van een digitale marketingaudit, vooral voor grote accounts, leidt meer handmatig werk tot menselijke fouten. De meest effici\u00ebnte manier om dit op de lange termijn aan te pakken, is door scripts te introduceren.<\/p>\n\n<p>En vanaf maart 2026, de datum waarop dit bericht is bijgewerkt, is het ook mogelijk \u2026is het ook mogelijk om Google Ads te verbinden met bekende LLM&#8217;s via MCP \u2014 waaronder Gemini, Claude en ChatGPT \u2014 momenteel in alleen-lezen modus, wat het ideaal maakt voor audit- en analyseworkflows. <\/p>\n\n<p><em>Let op: Grok en DeepSeek zijn nog niet plug-and-play met Google Ads MCP \u2014 maar in deze branche kan dat elke week veranderen.<\/em><\/p>\n\n<h2 class=\"wp-block-heading\">Een eenvoudig Google Ads-script om uw eigen digitale marketingaudit te starten voor uw e-commerce, voor Google zoekadvertenties.<\/h2>\n\n<p>Het volgende script onderzoekt zoektermen in segmenten van 10%. Het gesuggereerde gebruik voor de referentie-ROAS is uw break-even ROAS.<\/p>\n\n<p>Het geeft u ook de top 10 zoektermen met vertoningen en winstgevendheidsstatistieken.<\/p>\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.75rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#FFFFFF\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#00000033\" stroke=\"#0000004d\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#00000033\" stroke=\"#0000004d\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#00000033\" stroke=\"#0000004d\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>function main() {\n  const referenceRoas = 1; \/\/ Change this value as needed, using break-even ROAS is suggested \n  const bucketSize = 0.1; \/\/ 10% chunks\n  \n  const report = AdsApp.report(\n    'SELECT Query, Impressions, Clicks, Cost, Conversions, ConversionValue ' +\n    'FROM SEARCH_QUERY_PERFORMANCE_REPORT ' +\n    'WHERE CampaignStatus = ENABLED ' +\n    'AND Cost > 0 ' +\n    'DURING LAST_30_DAYS'\n  );\n\n  const rows = [];\n  let totalCost = 0;\n  const roasBuckets = {};\n  \n  \/\/ Generate bucket ranges dynamically\n  const numBuckets = Math.ceil(referenceRoas \/ bucketSize);\n  for (let i = 0; i &lt; numBuckets; i++) {\n    const lower = referenceRoas - (i + 1) * bucketSize;\n    const upper = referenceRoas - i * bucketSize;\n    const key = `${lower.toFixed(1)}-${upper.toFixed(1)}`;\n    roasBuckets&#91;key&#93; = 0;\n  }\n\n  const reportRows = report.rows();\n  while (reportRows.hasNext()) {\n    const row = reportRows.next();\n    const cost = parseFloat(row&#91;'Cost'&#93;) || 0;\n    const conversionValue = parseFloat(row&#91;'ConversionValue'&#93;) || 0;\n    const roas = cost > 0 ? conversionValue \/ cost : 0;\n    \n    rows.push(row);\n    totalCost += cost;\n    \n    \/\/ Find which bucket this ROAS falls into\n    for (let i = 0; i &lt; numBuckets; i++) {\n      const lower = referenceRoas - (i + 1) * bucketSize;\n      const upper = referenceRoas - i * bucketSize;\n      if (roas >= lower &amp;&amp; roas &lt; upper) {\n        const key = `${lower.toFixed(1)}-${upper.toFixed(1)}`;\n        roasBuckets&#91;key&#93; += cost;\n        break;\n      }\n    }\n  }\n\n  Logger.log(`Total search terms with cost > 0: ${rows.length}`);\n  Logger.log(`Total cost: ${totalCost.toFixed(2)}`);\n  Logger.log(`Reference ROAS: ${referenceRoas}`);\n  Logger.log('');\n  Logger.log('ROAS Bucket Breakdown:');\n  \n  Object.keys(roasBuckets).forEach(bucket => {\n    const bucketCost = roasBuckets&#91;bucket&#93;;\n    const percentage = totalCost > 0 ? ((bucketCost \/ totalCost) * 100).toFixed(2) : 0;\n    Logger.log(`ROAS ${bucket}: ${bucketCost.toFixed(2)}, ${percentage}%`);\n  });\n\n  \/\/ Sort by impressions descending\n  rows.sort((a, b) => b&#91;'Impressions'&#93; - a&#91;'Impressions'&#93;);\n\n  \/\/ Log top 10 only\n  Logger.log('');\n  Logger.log('Top 10 by Impressions:');\n  rows.slice(0, 10).forEach(row => {\n    const cost = parseFloat(row&#91;'Cost'&#93;) || 0;\n    const conversionValue = parseFloat(row&#91;'ConversionValue'&#93;) || 0;\n    const roas = cost > 0 ? (conversionValue \/ cost).toFixed(2) : 'N\/A';\n    \n    Logger.log(`Query: ${row&#91;'Query'&#93;}, Impressions: ${row&#91;'Impressions'&#93;}, Clicks: ${row&#91;'Clicks'&#93;}, Cost: ${row&#91;'Cost'&#93;}, ConversionValue: ${row&#91;'ConversionValue'&#93;}, ROAS: ${roas}`);\n  });\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #0000FF\">function<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #795E26\">main<\/span><span style=\"color: #000000\">() {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><span style=\"color: #0000FF\">const<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">referenceRoas<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #098658\">1<\/span><span style=\"color: #000000\">; <\/span><span style=\"color: #008000\">\/\/ Change this value as needed, using break-even ROAS is suggested <\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><span style=\"color: #0000FF\">const<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">bucketSize<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #098658\">0.1<\/span><span style=\"color: #000000\">; <\/span><span style=\"color: #008000\">\/\/ 10% chunks<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><span style=\"color: #0000FF\">const<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">report<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #001080\">AdsApp<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">report<\/span><span style=\"color: #000000\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #A31515\">&#39;SELECT Query, Impressions, Clicks, Cost, Conversions, ConversionValue &#39;<\/span><span style=\"color: #000000\"> +<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #A31515\">&#39;FROM SEARCH_QUERY_PERFORMANCE_REPORT &#39;<\/span><span style=\"color: #000000\"> +<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #A31515\">&#39;WHERE CampaignStatus = ENABLED &#39;<\/span><span style=\"color: #000000\"> +<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #A31515\">&#39;AND Cost &gt; 0 &#39;<\/span><span style=\"color: #000000\"> +<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #A31515\">&#39;DURING LAST_30_DAYS&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  );<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><span style=\"color: #0000FF\">const<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">rows<\/span><span style=\"color: #000000\"> = [];<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><span style=\"color: #0000FF\">let<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">totalCost<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><span style=\"color: #0000FF\">const<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">roasBuckets<\/span><span style=\"color: #000000\"> = {};<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><span style=\"color: #008000\">\/\/ Generate bucket ranges dynamically<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><span style=\"color: #0000FF\">const<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">numBuckets<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #001080\">Math<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">ceil<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">referenceRoas<\/span><span style=\"color: #000000\"> \/ <\/span><span style=\"color: #001080\">bucketSize<\/span><span style=\"color: #000000\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><span style=\"color: #AF00DB\">for<\/span><span style=\"color: #000000\"> (<\/span><span style=\"color: #0000FF\">let<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">i<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\">; <\/span><span style=\"color: #001080\">i<\/span><span style=\"color: #000000\"> &lt; <\/span><span style=\"color: #001080\">numBuckets<\/span><span style=\"color: #000000\">; <\/span><span style=\"color: #001080\">i<\/span><span style=\"color: #000000\">++) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">const<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">lower<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #001080\">referenceRoas<\/span><span style=\"color: #000000\"> - (<\/span><span style=\"color: #001080\">i<\/span><span style=\"color: #000000\"> + <\/span><span style=\"color: #098658\">1<\/span><span style=\"color: #000000\">) * <\/span><span style=\"color: #001080\">bucketSize<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">const<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">upper<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #001080\">referenceRoas<\/span><span style=\"color: #000000\"> - <\/span><span style=\"color: #001080\">i<\/span><span style=\"color: #000000\"> * <\/span><span style=\"color: #001080\">bucketSize<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">const<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">key<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #A31515\">`<\/span><span style=\"color: #0000FF\">${<\/span><span style=\"color: #001080\">lower<\/span><span style=\"color: #000000FF\">.<\/span><span style=\"color: #795E26\">toFixed<\/span><span style=\"color: #000000FF\">(<\/span><span style=\"color: #098658\">1<\/span><span style=\"color: #000000FF\">)<\/span><span style=\"color: #0000FF\">}<\/span><span style=\"color: #A31515\">-<\/span><span style=\"color: #0000FF\">${<\/span><span style=\"color: #001080\">upper<\/span><span style=\"color: #000000FF\">.<\/span><span style=\"color: #795E26\">toFixed<\/span><span style=\"color: #000000FF\">(<\/span><span style=\"color: #098658\">1<\/span><span style=\"color: #000000FF\">)<\/span><span style=\"color: #0000FF\">}<\/span><span style=\"color: #A31515\">`<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #001080\">roasBuckets<\/span><span style=\"color: #000000\">&#91;<\/span><span style=\"color: #001080\">key<\/span><span style=\"color: #000000\">&#93; = <\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><span style=\"color: #0000FF\">const<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">reportRows<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #001080\">report<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">rows<\/span><span style=\"color: #000000\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><span style=\"color: #AF00DB\">while<\/span><span style=\"color: #000000\"> (<\/span><span style=\"color: #001080\">reportRows<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">hasNext<\/span><span style=\"color: #000000\">()) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">const<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">row<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #001080\">reportRows<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">next<\/span><span style=\"color: #000000\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">const<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">cost<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #795E26\">parseFloat<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">row<\/span><span style=\"color: #000000\">&#91;<\/span><span style=\"color: #A31515\">&#39;Cost&#39;<\/span><span style=\"color: #000000\">&#93;) || <\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">const<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">conversionValue<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #795E26\">parseFloat<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">row<\/span><span style=\"color: #000000\">&#91;<\/span><span style=\"color: #A31515\">&#39;ConversionValue&#39;<\/span><span style=\"color: #000000\">&#93;) || <\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">const<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">roas<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #001080\">cost<\/span><span style=\"color: #000000\"> &gt; <\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\"> ? <\/span><span style=\"color: #001080\">conversionValue<\/span><span style=\"color: #000000\"> \/ <\/span><span style=\"color: #001080\">cost<\/span><span style=\"color: #000000\"> : <\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #001080\">rows<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">push<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">row<\/span><span style=\"color: #000000\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #001080\">totalCost<\/span><span style=\"color: #000000\"> += <\/span><span style=\"color: #001080\">cost<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #008000\">\/\/ Find which bucket this ROAS falls into<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #AF00DB\">for<\/span><span style=\"color: #000000\"> (<\/span><span style=\"color: #0000FF\">let<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">i<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\">; <\/span><span style=\"color: #001080\">i<\/span><span style=\"color: #000000\"> &lt; <\/span><span style=\"color: #001080\">numBuckets<\/span><span style=\"color: #000000\">; <\/span><span style=\"color: #001080\">i<\/span><span style=\"color: #000000\">++) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">      <\/span><span style=\"color: #0000FF\">const<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">lower<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #001080\">referenceRoas<\/span><span style=\"color: #000000\"> - (<\/span><span style=\"color: #001080\">i<\/span><span style=\"color: #000000\"> + <\/span><span style=\"color: #098658\">1<\/span><span style=\"color: #000000\">) * <\/span><span style=\"color: #001080\">bucketSize<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">      <\/span><span style=\"color: #0000FF\">const<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">upper<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #001080\">referenceRoas<\/span><span style=\"color: #000000\"> - <\/span><span style=\"color: #001080\">i<\/span><span style=\"color: #000000\"> * <\/span><span style=\"color: #001080\">bucketSize<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">      <\/span><span style=\"color: #AF00DB\">if<\/span><span style=\"color: #000000\"> (<\/span><span style=\"color: #001080\">roas<\/span><span style=\"color: #000000\"> &gt;= <\/span><span style=\"color: #001080\">lower<\/span><span style=\"color: #000000\"> &amp;&amp; <\/span><span style=\"color: #001080\">roas<\/span><span style=\"color: #000000\"> &lt; <\/span><span style=\"color: #001080\">upper<\/span><span style=\"color: #000000\">) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #0000FF\">const<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">key<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #A31515\">`<\/span><span style=\"color: #0000FF\">${<\/span><span style=\"color: #001080\">lower<\/span><span style=\"color: #000000FF\">.<\/span><span style=\"color: #795E26\">toFixed<\/span><span style=\"color: #000000FF\">(<\/span><span style=\"color: #098658\">1<\/span><span style=\"color: #000000FF\">)<\/span><span style=\"color: #0000FF\">}<\/span><span style=\"color: #A31515\">-<\/span><span style=\"color: #0000FF\">${<\/span><span style=\"color: #001080\">upper<\/span><span style=\"color: #000000FF\">.<\/span><span style=\"color: #795E26\">toFixed<\/span><span style=\"color: #000000FF\">(<\/span><span style=\"color: #098658\">1<\/span><span style=\"color: #000000FF\">)<\/span><span style=\"color: #0000FF\">}<\/span><span style=\"color: #A31515\">`<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #001080\">roasBuckets<\/span><span style=\"color: #000000\">&#91;<\/span><span style=\"color: #001080\">key<\/span><span style=\"color: #000000\">&#93; += <\/span><span style=\"color: #001080\">cost<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #AF00DB\">break<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">      }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><span style=\"color: #001080\">Logger<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">log<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #A31515\">`Total search terms with cost &gt; 0: <\/span><span style=\"color: #0000FF\">${<\/span><span style=\"color: #001080\">rows<\/span><span style=\"color: #000000FF\">.<\/span><span style=\"color: #001080\">length<\/span><span style=\"color: #0000FF\">}<\/span><span style=\"color: #A31515\">`<\/span><span style=\"color: #000000\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><span style=\"color: #001080\">Logger<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">log<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #A31515\">`Total cost: <\/span><span style=\"color: #0000FF\">${<\/span><span style=\"color: #001080\">totalCost<\/span><span style=\"color: #000000FF\">.<\/span><span style=\"color: #795E26\">toFixed<\/span><span style=\"color: #000000FF\">(<\/span><span style=\"color: #098658\">2<\/span><span style=\"color: #000000FF\">)<\/span><span style=\"color: #0000FF\">}<\/span><span style=\"color: #A31515\">`<\/span><span style=\"color: #000000\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><span style=\"color: #001080\">Logger<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">log<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #A31515\">`Reference ROAS: <\/span><span style=\"color: #0000FF\">${<\/span><span style=\"color: #001080\">referenceRoas<\/span><span style=\"color: #0000FF\">}<\/span><span style=\"color: #A31515\">`<\/span><span style=\"color: #000000\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><span style=\"color: #001080\">Logger<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">log<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #A31515\">&#39;&#39;<\/span><span style=\"color: #000000\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><span style=\"color: #001080\">Logger<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">log<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #A31515\">&#39;ROAS Bucket Breakdown:&#39;<\/span><span style=\"color: #000000\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><span style=\"color: #001080\">Object<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">keys<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">roasBuckets<\/span><span style=\"color: #000000\">).<\/span><span style=\"color: #795E26\">forEach<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">bucket<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">=&gt;<\/span><span style=\"color: #000000\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">const<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">bucketCost<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #001080\">roasBuckets<\/span><span style=\"color: #000000\">&#91;<\/span><span style=\"color: #001080\">bucket<\/span><span style=\"color: #000000\">&#93;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">const<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">percentage<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #001080\">totalCost<\/span><span style=\"color: #000000\"> &gt; <\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\"> ? ((<\/span><span style=\"color: #001080\">bucketCost<\/span><span style=\"color: #000000\"> \/ <\/span><span style=\"color: #001080\">totalCost<\/span><span style=\"color: #000000\">) * <\/span><span style=\"color: #098658\">100<\/span><span style=\"color: #000000\">).<\/span><span style=\"color: #795E26\">toFixed<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #098658\">2<\/span><span style=\"color: #000000\">) : <\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #001080\">Logger<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">log<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #A31515\">`ROAS <\/span><span style=\"color: #0000FF\">${<\/span><span style=\"color: #001080\">bucket<\/span><span style=\"color: #0000FF\">}<\/span><span style=\"color: #A31515\">: <\/span><span style=\"color: #0000FF\">${<\/span><span style=\"color: #001080\">bucketCost<\/span><span style=\"color: #000000FF\">.<\/span><span style=\"color: #795E26\">toFixed<\/span><span style=\"color: #000000FF\">(<\/span><span style=\"color: #098658\">2<\/span><span style=\"color: #000000FF\">)<\/span><span style=\"color: #0000FF\">}<\/span><span style=\"color: #A31515\">, <\/span><span style=\"color: #0000FF\">${<\/span><span style=\"color: #001080\">percentage<\/span><span style=\"color: #0000FF\">}<\/span><span style=\"color: #A31515\">%`<\/span><span style=\"color: #000000\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  });<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><span style=\"color: #008000\">\/\/ Sort by impressions descending<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><span style=\"color: #001080\">rows<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">sort<\/span><span style=\"color: #000000\">((<\/span><span style=\"color: #001080\">a<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #001080\">b<\/span><span style=\"color: #000000\">) <\/span><span style=\"color: #0000FF\">=&gt;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">b<\/span><span style=\"color: #000000\">&#91;<\/span><span style=\"color: #A31515\">&#39;Impressions&#39;<\/span><span style=\"color: #000000\">&#93; - <\/span><span style=\"color: #001080\">a<\/span><span style=\"color: #000000\">&#91;<\/span><span style=\"color: #A31515\">&#39;Impressions&#39;<\/span><span style=\"color: #000000\">&#93;);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><span style=\"color: #008000\">\/\/ Log top 10 only<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><span style=\"color: #001080\">Logger<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">log<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #A31515\">&#39;&#39;<\/span><span style=\"color: #000000\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><span style=\"color: #001080\">Logger<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">log<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #A31515\">&#39;Top 10 by Impressions:&#39;<\/span><span style=\"color: #000000\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><span style=\"color: #001080\">rows<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">slice<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #098658\">10<\/span><span style=\"color: #000000\">).<\/span><span style=\"color: #795E26\">forEach<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">row<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">=&gt;<\/span><span style=\"color: #000000\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">const<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">cost<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #795E26\">parseFloat<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">row<\/span><span style=\"color: #000000\">&#91;<\/span><span style=\"color: #A31515\">&#39;Cost&#39;<\/span><span style=\"color: #000000\">&#93;) || <\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">const<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">conversionValue<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #795E26\">parseFloat<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">row<\/span><span style=\"color: #000000\">&#91;<\/span><span style=\"color: #A31515\">&#39;ConversionValue&#39;<\/span><span style=\"color: #000000\">&#93;) || <\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">const<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">roas<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #001080\">cost<\/span><span style=\"color: #000000\"> &gt; <\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\"> ? (<\/span><span style=\"color: #001080\">conversionValue<\/span><span style=\"color: #000000\"> \/ <\/span><span style=\"color: #001080\">cost<\/span><span style=\"color: #000000\">).<\/span><span style=\"color: #795E26\">toFixed<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #098658\">2<\/span><span style=\"color: #000000\">) : <\/span><span style=\"color: #A31515\">&#39;N\/A&#39;<\/span><span style=\"color: #000000\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #001080\">Logger<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">log<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #A31515\">`Query: <\/span><span style=\"color: #0000FF\">${<\/span><span style=\"color: #001080\">row<\/span><span style=\"color: #000000FF\">&#91;<\/span><span style=\"color: #A31515\">&#39;Query&#39;<\/span><span style=\"color: #000000FF\">&#93;<\/span><span style=\"color: #0000FF\">}<\/span><span style=\"color: #A31515\">, Impressions: <\/span><span style=\"color: #0000FF\">${<\/span><span style=\"color: #001080\">row<\/span><span style=\"color: #000000FF\">&#91;<\/span><span style=\"color: #A31515\">&#39;Impressions&#39;<\/span><span style=\"color: #000000FF\">&#93;<\/span><span style=\"color: #0000FF\">}<\/span><span style=\"color: #A31515\">, Clicks: <\/span><span style=\"color: #0000FF\">${<\/span><span style=\"color: #001080\">row<\/span><span style=\"color: #000000FF\">&#91;<\/span><span style=\"color: #A31515\">&#39;Clicks&#39;<\/span><span style=\"color: #000000FF\">&#93;<\/span><span style=\"color: #0000FF\">}<\/span><span style=\"color: #A31515\">, Cost: <\/span><span style=\"color: #0000FF\">${<\/span><span style=\"color: #001080\">row<\/span><span style=\"color: #000000FF\">&#91;<\/span><span style=\"color: #A31515\">&#39;Cost&#39;<\/span><span style=\"color: #000000FF\">&#93;<\/span><span style=\"color: #0000FF\">}<\/span><span style=\"color: #A31515\">, ConversionValue: <\/span><span style=\"color: #0000FF\">${<\/span><span style=\"color: #001080\">row<\/span><span style=\"color: #000000FF\">&#91;<\/span><span style=\"color: #A31515\">&#39;ConversionValue&#39;<\/span><span style=\"color: #000000FF\">&#93;<\/span><span style=\"color: #0000FF\">}<\/span><span style=\"color: #A31515\">, ROAS: <\/span><span style=\"color: #0000FF\">${<\/span><span style=\"color: #001080\">roas<\/span><span style=\"color: #0000FF\">}<\/span><span style=\"color: #A31515\">`<\/span><span style=\"color: #000000\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  });<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">}<\/span><\/span><\/code><\/pre><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Het uitvoeren van digitale marketingaudits voor grote merken zoals BMW, Domino&#8217;s, Watsons en vele andere heeft mij het volgende geleerd: De meeste digitale marketinginspanningen verspillen stilletjes tussen de 15% en 30% van hun budget. Niet vanwege een slechte strategie, maar omdat niemand de infrastructuur heeft gecontroleerd. Een aanzienlijk deel van deze verspilling kan worden opgevangen [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":571,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[21],"tags":[],"class_list":["post-569","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-niet-gecategoriseerd"],"_links":{"self":[{"href":"https:\/\/digital-marketing-audit.com\/nl\/wp-json\/wp\/v2\/posts\/569","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/digital-marketing-audit.com\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/digital-marketing-audit.com\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/digital-marketing-audit.com\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/digital-marketing-audit.com\/nl\/wp-json\/wp\/v2\/comments?post=569"}],"version-history":[{"count":2,"href":"https:\/\/digital-marketing-audit.com\/nl\/wp-json\/wp\/v2\/posts\/569\/revisions"}],"predecessor-version":[{"id":573,"href":"https:\/\/digital-marketing-audit.com\/nl\/wp-json\/wp\/v2\/posts\/569\/revisions\/573"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/digital-marketing-audit.com\/nl\/wp-json\/wp\/v2\/media\/571"}],"wp:attachment":[{"href":"https:\/\/digital-marketing-audit.com\/nl\/wp-json\/wp\/v2\/media?parent=569"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/digital-marketing-audit.com\/nl\/wp-json\/wp\/v2\/categories?post=569"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/digital-marketing-audit.com\/nl\/wp-json\/wp\/v2\/tags?post=569"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}