Installing the tracking script
The tracking script is one line of JavaScript that goes in your site's <head>. WordPress and Shopify have one-click apps; every other platform takes a copy-paste into the site-wide header. Your dashboard generates the exact snippet for each website, pre-filled with its site key.
Every website you add gets its own snippet with its own site key. Find yours in Settings → Install code for that website. AdProtektor detects your platform when you add the site and pre-selects the matching instructions.
Copy the snippet from your dashboard
The tag below is what a standard install looks like, but always copy the real one from Settings → Install code — some platforms get a variant, and your dashboard always has the current form.
<script src="https://cdn.adprotektor.app/track.js"></script>No key in the tag
The script resolves your website from the hostname it runs on, so the standard snippet carries no site key. Nothing in the tag is specific to your account, which is why it is safe to keep in a shared theme or template.
WordPress
Install the AdProtektor plugin and paste your site key. The plugin also captures server-side WooCommerce purchases and form submissions from WPForms, Gravity Forms, Contact Form 7 and Elementor Pro for ConversionOS — worth having even if you only use the fraud protection today.
Shopify
Install the AdProtektor app from the Shopify App Store. It sets up a Custom Pixel plus server-side webhooks, which is what makes full-funnel capture work with Shopify's modern checkout — a plain script tag cannot see checkout events there.
Wix, Squarespace, Webflow and BigCommerce
All four have a site-wide custom-code or header-injection setting. Paste the snippet there and make sure it applies to all pages, not just the home page — fraud lands on your ad landing pages, which are often not the home page.
- Wix
- Settings → Custom Code → Add Custom Code, placed in the Head, applied to All pages.
- Squarespace
- Settings → Advanced → Code Injection → Header.
- Webflow
- Project Settings → Custom Code → Head Code, then publish.
- BigCommerce
- Storefront → Script Manager → Create a script, placed in the Header on All pages.
Google Tag Manager
Create a Custom HTML tag containing the snippet and fire it on All Pages (the Initialization trigger is better still, because it runs earlier). Remember to publish the container — an unpublished GTM change is the single most common reason verification fails.
GTM adds a small delay
Tag Manager loads the script slightly later than a direct tag does, which means very short visits can be missed. If you are chasing maximum coverage, install directly in the page head instead.
Custom HTML sites
Add the snippet to your shared layout, template or partial — whatever renders the <head> on every page — rather than to individual pages. If your site is a single-page app, the script tracks route changes on its own; you do not need to re-fire it manually.
Server-to-server
For conversions that never touch a browser, ConversionOS accepts direct server-to-server ingestion through a custom API. See Setting up ConversionOS.
Frequently asked questions
Where exactly should the script go?
In the <head>, as early as practical, on every page. Putting it in the footer or firing it late means short visits — which is exactly what bot traffic looks like — can end before the script has collected anything.
Can I install it on more than one website?
Yes, up to your plan's limit. Each website is a separate asset with its own site key, settings and ad-platform connections.
Does it work on a staging site?
It will run anywhere the snippet loads, but the data will be mixed in with production. Use a separate asset for staging if you want to keep them apart.
Related articles
Verifying your installation
How AdProtektor confirms your tracking script is live, and what to check when verification does not pass.
Quick start
Get from signup to a protected website in five steps — add your site, install the script, verify it, connect Google Ads, and turn on blocking.
Adding more websites
How multi-website accounts work, the difference between a domain and a page asset, and how plan limits apply.
