googleadservices.com/pagead/conversion.js blockeras: vad det betyder och vad du gör
Det beror på meddelandet. ERR_BLOCKED_BY_CLIENT betyder att en annonsblockerare i din egen webbläsare stoppade skriptet, och besökare utan blockerare påverkas inte. Ett fel från din Content Security Policy, eller ett samtyckesverktyg som aldrig släpper fram taggen, blockerar den för alla, och det är värt att åtgärda direkt. Oavsett vilket är conversion.js Google Ads gamla tagg, så den varaktiga lösningen är att byta till Google-taggen.
Kontrollera din egen sajt: den gratis skanningen visar på ungefär en minut om problemet finns på din sida. Rapporten är på engelska.
Vilket meddelande ser du?
Öppna DevTools (F12 eller Cmd+Option+I), gå till fliken Console och ladda om sidan. Titta sedan i fliken Network med filtret conversion. Formuleringen visar vad som stoppade skriptet:
net::ERR_BLOCKED_BY_CLIENTi fliken Network eller Console: ett webbläsartillägg (en annonsblockerare eller ett integritetstillägg) avbröt anropet. Se "En annonsblockerare i din webbläsare".Refused to load the script 'https://www.googleadservices.com/pagead/conversion.js' because it violates the following Content Security Policy directive: din egen sajts säkerhetsheader tillåter inte Googles domän. Se "Din Content Security Policy".A parser-blocking, cross site (i.e. different eTLD+1) script, https://www.googleadservices.com/pagead/conversion.js, is invoked via document.write: en varning från Chrome om hur den gamla taggen laddas. Se "Chromes varning om document.write".- Inget fel, men anropet syns aldrig, eller så har skripttaggen
type="text/plain": ditt samtyckesverktyg håller tillbaka den. Se "Ditt samtyckesverktyg".
En annonsblockerare i din webbläsare
De vanliga filterlistorna blockerar googleadservices.com, så den som använder uBlock Origin, AdBlock Plus, Braves skydd eller liknande laddar aldrig konverteringstaggen. Är det det enda meddelandet fungerar din sajt: testa igen i ett privat fönster utan tillägg, så ska anropet gå igenom.
Du kan inte få taggen att fungera för besökare som blockerar den, och du ska inte försöka lura deras blockerare. Det du kan göra är att minska hur mycket luckan påverkar:
- Enhanced conversions skickar en hashad e-postadress eller ett hashat telefonnummer med konverteringen, vilket hjälper Google att matcha konverteringar som annars skulle gå förlorade på grund av cookiebegränsningar.
- Import från dina egna system (konverteringsimport från ditt CRM, eller en container för server-side-taggning i Google Tag Manager) registrerar försäljning från dina egna system i stället för från besökarens webbläsare.
- Google tag gateway laddar Googles tagg från din egen domän. Google erbjuder det officiellt, och det gör taggen mindre känslig för blockering på nätverksnivå.
Din Content Security Policy
En Content Security Policy (CSP) är en header som din sajt skickar för att tala om för webbläsare vilka domäner som får ladda skript, bilder och anrop. När googleadservices.com saknas vägrar webbläsaren ladda skriptet för alla besökare, och fliken Console visar vilket direktiv som blockerade det (oftast script-src). Det händer ofta direkt efter att en utvecklare eller ett säkerhetstillägg har skärpt policyn.
Google publicerar exakt vilka domäner taggarna behöver, per produkt, i sin guide om Content Security Policy för Google-taggen (länkad nedan). För konverteringsspårning i Google Ads ingår bland annat www.googletagmanager.com, www.googleadservices.com, googleads.g.doubleclick.net och www.google.com, fördelade på script-src, img-src, connect-src och frame-src. Kopiera listan för din installation från Googles guide: den är längre om du också använder remarketing, GA4 eller en regional Google-domän, och den ändras med tiden. En policy som använder en nonce kan tillåta Google-taggen på det sättet i stället.
När du har ändrat headern laddar du om med fliken Console öppen: raden "Refused to load" ska vara borta, och anropet till /pagead/conversion/ ska ha status 200.
Chromes varning om document.write
Den gamla kodsnutten laddar conversion.js med en vanlig <script>-tagg som skriver in i sidan med document.write. Chrome varnar för att sådana skript kan blockeras för besökare med mycket långsam uppkoppling (2G), för att snabba upp sidan. Med en normal uppkoppling laddas skriptet ändå, så varningen i sig betyder inte att du tappar konverteringar i dag. Men den visar att det är den gamla taggen, och den bör bytas ut.
Ditt samtyckesverktyg
Samtyckesverktyg som blockerar skript automatiskt skriver om taggen till type="text/plain" tills besökaren har godkänt rätt kategori. Det är rätt före samtycke. Det är ett problem när taggen förblir blockerad efter "godkänn": kontrollera vilken kategori taggen ligger i (oftast "marknadsföring") och att knappen för att godkänna faktiskt ger samtycke till den.
Med den moderna Google-taggen är Consent Mode v2 den bättre lösningen: taggen laddas för alla, skickar cookiefria pingar så länge samtycke saknas och skickar fullständiga konverteringar när besökaren godkänner, så att Google kan modellera vad samtycket kostar dig. Den gamla taggen conversion.js är äldre än Consent Mode, så den är antingen blockerad eller inte. Se Standardvärde för Consent Mode saknas.
Byt conversion.js mot Google-taggen
Om din sajt fortfarande har en kodsnutt som den här är det den gamla taggen för Google Ads:
<script type="text/javascript">
var google_conversion_id = 123456789;
var google_conversion_label = "AbC-D_efG-h12_34-567";
var google_conversion_value = 84.50;
</script>
<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js"></script>
Google ersatte den med Google-taggen (gtag.js) för flera år sedan. Det är den nuvarande taggen som Google dokumenterar för Consent Mode, enhanced conversions och transaktions-ID:n. Samma konvertering med Google-taggen:
<script async src="https://www.googletagmanager.com/gtag/js?id=AW-123456789"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'AW-123456789');
</script>
<!-- på orderbekräftelsen: -->
<script>
gtag('event', 'conversion', {
send_to: 'AW-123456789/AbC-D_efG-h12_34-567',
value: 84.50,
currency: 'SEK',
transaction_id: '10045'
});
</script>
Ditt konverterings-ID och din etikett är desamma, så konverteringsåtgärden i Google Ads behåller sin historik. I Google Tag Manager använder du i stället taggen Google Ads Conversion Tracking plus en Conversion Linker-tagg på alla sidor. Ta bort den gamla kodsnutten när den nya registrerar konverteringar, annars räknas varje order två gånger.
Kontrollera att det fungerar
- Öppna orderbekräftelsen för en testorder i ett privat fönster, utan tillägg och med DevTools öppet.
- Fliken Console ska inte visa några rader med "Refused to load" eller
document.writeför Google. - Filtrera på
pageadi fliken Network. Det ska finnas ett anrop till/pagead/conversion/med dinlabel, ettvalue, encurrency_codeoch ettoid, och inget anrop tillconversion.js.
Den gratis skanningen gör samma kontroll på vilken sida som helst, och guiden Google Ads registrerar inga konverteringar går igenom vad du ska titta på i själva Google Ads.
Källor
- Google tag: Use a Content Security Policy
- Google Ads: Set up conversion tracking for your website
- Google Ads: About enhanced conversions
- Chrome: Intervening against document.write()
- Google tag gateway for advertisers
Bygger på plattformarnas offentliga dokumentation (oftast på engelska). Menyer och namn ändras, så kontrollera de länkade sidorna om ett steg ser annorlunda ut.