🧭 Overview
If you have added the SearchAtlas OTTO tracking pixel to your GoHighLevel (GHL) site but the Search Atlas dashboard still shows the pixel as undetected — or you are seeing a JSON parsing error — the issue is almost always caused by how GHL handles custom code blocks. This article walks you through the correct installation method and the most common failure points.
📋 Before You Begin
Confirm the following before troubleshooting:
- You have access to your GoHighLevel funnel or website builder as an admin.
- You have your OTTO pixel snippet ready. To find it, go to OTTO SEO in the left sidebar, open SEO Automation (URL: /seo-automation-v3), open your OTTO workspace, and copy the pixel script from the tracking setup panel.
- The site is published and publicly accessible — the dashboard cannot detect the pixel on unpublished pages.
⚠️ Why GHL Installations Commonly Fail
GoHighLevel uses a block-based editor that processes custom code differently from standard HTML page builders. Three failure points account for almost all detection problems:
- Wrong placement location: Pasting the script into a content block body instead of the dedicated Header Tracking Code field causes the script to be wrapped in additional markup, which breaks JSON parsing.
- JSON parsing error: GHL sometimes auto-encodes quotation marks inside custom code blocks. When the pixel script contains JSON-formatted configuration data, these encoded characters corrupt the payload and produce a JSON parsing error in the browser console.
- Script added to a single page only: Adding the script to one page's settings instead of the site-wide header means the pixel fires inconsistently, causing intermittent or zero detection in the dashboard.
✅ Correct Installation Method
Follow these steps exactly to install the OTTO pixel site-wide in GoHighLevel:
- Log in to GoHighLevel and open the Sites section from the left menu.
- Select the website or funnel where you want to install the pixel.
- Click Settings (the gear icon) for that site — do not open an individual page editor.
- Scroll down to the Header Tracking Code field. This is the only field that injects code cleanly into the
<head>tag without encoding characters. - Paste your OTTO pixel snippet directly into the Header Tracking Code field. Do not wrap it in any additional tags.
- Click Save and then Republish the site.
- Wait 2–3 minutes, then return to OTTO SEO in the left sidebar in Search Atlas, open SEO Automation, and refresh the OTTO workspace to check detection status.
🚫 What to Avoid
- Do not paste the pixel script into a custom HTML or code content block inside the page editor. GHL re-encodes quotes in these blocks and will break the script.
- Do not use the Footer Tracking Code field for the OTTO pixel. Some GHL themes render the footer after the main content loads, which can cause the pixel to fire too late or not at all on fast-loading pages.
- Do not add the script only to individual page settings. Always use the site-level Header Tracking Code field for consistent, site-wide detection.
🔍 Verifying the Pixel Is Firing Correctly
After republishing, verify the installation using your browser before checking the Search Atlas dashboard:
- Open your published GHL site in Google Chrome.
- Right-click anywhere on the page and select Inspect, then open the Network tab.
- Reload the page and filter requests by typing otto or your pixel domain in the search bar.
- Confirm a network request is being made and that the response status is 200.
- Open the Console tab and check that there are no JSON parsing errors. If a JSON error still appears, the script was most likely pasted into a content block rather than the Header Tracking Code field — repeat the installation steps above.
🛠️ Still Seeing a JSON Parsing Error?
If you followed the steps above and the JSON parsing error persists, check these additional causes:
- Conflicting scripts: A third-party script on the same page may be interfering. Temporarily disable other custom scripts in the Header Tracking Code field to isolate the conflict.
- Caching: GoHighLevel caches published pages aggressively. Clear the site cache from the GHL Settings panel and hard-reload the page in your browser (Ctrl + Shift + R on Windows, Cmd + Shift + R on Mac).
- Pixel snippet modified: Ensure the pixel snippet is copied exactly as provided in the Search Atlas dashboard. Any manual edits — including added line breaks or extra spaces — can invalidate the JSON structure.
💬 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.