🔍 Why the Pixel Shows in Source but Fails the Scan
When you add the OTTO pixel to your site and confirm it appears in the page source, your installation is technically correct. The Not Detected status is almost always caused by your site's bot-protection or firewall blocking the Search Atlas crawler before it can read your page HTML at all. Instead of seeing your pixel, the crawler receives an Access Denied, CAPTCHA, or JavaScript-challenge page and reports the pixel as missing.
This is not a temporary caching issue and will not resolve on its own. It persists until the Search Atlas crawler IP addresses are explicitly allowed through your security layer.
🚦 How to Confirm Bot-Protection Is the Cause
Before changing any settings, check whether your site uses any of the following: Cloudflare (any plan, including free), Shopify's built-in bot protection, Boostmark, or any other web application firewall (WAF), CDN, or security plugin. If your site uses any of these, follow the fix for your platform below. If you are unsure, contact us via the chat widget and we can check our crawler logs for an Access Denied response from your domain.
🛒 Fix: Shopify Bot Protection
- Log in to your Shopify Admin panel.
- Go to Online Store → Preferences and confirm your store is not password-protected for external visitors. If your store is still in development mode with a storefront password enabled, the Search Atlas crawler cannot reach your pages at all — disable the password temporarily or add the crawler IPs to your password-page allowlist.
- If you use a third-party Shopify anti-bot or fraud-protection app, open that app's settings and add the Search Atlas crawler IP addresses to its IP allowlist. The full crawler IP list is available inside Search Atlas at Left sidebar → OTTO SEO → Installation Guide, under the Crawler IP Whitelist section.
- Save your changes and wait 10–15 minutes, then re-run the scan as described in the How to Re-Run the Scan section below.
☁️ Fix: Cloudflare Bot Protection
Cloudflare is the most frequent cause of OTTO pixel detection failures. Even the free plan's Bot Fight Mode will silently block the Search Atlas crawler and serve it a JavaScript-challenge page instead of your actual HTML, making the pixel invisible to the scanner.
- Log in to your Cloudflare dashboard and select the domain connected to your OTTO site.
- Go to Security → Bots and note whether Bot Fight Mode or Super Bot Fight Mode is enabled.
- Go to Security → WAF → Custom Rules and click Create rule. Configure it as follows: set Field to IP Source Address, set Operator to is in, then paste each Search Atlas crawler IP address as values — the complete list is available at Left sidebar → OTTO SEO → Installation Guide, under Crawler IP Whitelist. Set the Action to Skip → WAF managed rules, and if the option appears, also skip Bot Fight Mode for these IPs.
- Save and deploy the rule. Cloudflare applies custom WAF rules within seconds.
- Trigger a new pixel scan as described in the How to Re-Run the Scan section below.
Important: Do not disable the Cloudflare proxy (orange cloud icon) for your domain — the custom WAF allowlist rule above is sufficient and keeps your site fully protected.
🔒 Fix: Boostmark and Other WAFs or CDNs
If your site uses Boostmark or another WAF, security plugin, or CDN not listed above, the fix is the same: whitelist the Search Atlas crawler IP addresses in that platform's trusted-IP or allowlist section.
- Log in to your WAF or security tool's admin dashboard.
- Locate the IP allowlist section, commonly labelled Trusted IPs, IP Allowlist, or Whitelist Rules.
- Add each IP address from the Search Atlas crawler list. The full list is available at Left sidebar → OTTO SEO → Installation Guide, under Crawler IP Whitelist.
- Save your changes and wait 5–10 minutes before re-running the scan.
✅ How to Re-Run the OTTO Pixel Scan
After whitelisting the crawler, trigger a fresh scan to confirm your pixel is now detected:
- In Search Atlas, navigate to Left sidebar → OTTO SEO → All Sites.
- Locate your site in the list and click into it to open the site dashboard.
- Navigate to Left sidebar → OTTO SEO → Overview and find the pixel status indicator at the top of the page.
- Click Re-scan or Verify Installation. The scan typically completes within a few minutes.
- If the status changes to Detected, your site is fully connected and OTTO will begin automating SEO tasks on your next scheduled run.
💡 Other Causes to Rule Out
If the pixel is still not detected after whitelisting the crawler IPs, confirm the following additional points:
- Script placement in Shopify: The OTTO pixel must be placed inside the tag of your theme.liquid file, directly before the closing tag. Do not place it inside a conditional Liquid block or a deferred-load section, as the scanner may not execute those code paths.
- Page cache not refreshed: If you use a caching plugin or Cloudflare's cache, purge the full-page cache after installing the pixel script so the scanner reads the updated live HTML rather than a cached version that predates your changes.
- Content Security Policy (CSP) blocking: Some Shopify themes or third-party apps inject a CSP header that prevents external scripts from loading. Open your browser's developer console while loading your homepage and check for any CSP-related errors referencing the OTTO script domain.
- Script only loads on some page types: Some themes conditionally inject scripts on certain templates. Confirm the pixel appears in the page source of your homepage, which is the page the scanner checks by default.
💬 Need More Help?
If you need further assistance, open the chat widget in the bottom-right corner of the platform and type human teammate to be connected with a member of our team.