Website Specialist
Tracking Scripts
SOP: Tracking Scripts & OTTO Pixel Installation
Section titled “SOP: Tracking Scripts & OTTO Pixel Installation”Last Updated: 2026-04-21 Version: 1.1 Tier: Pre/Post-Launch Tracking Configuration
Purpose
Section titled “Purpose”This SOP defines how to correctly install tracking scripts and pixels across all website platforms used by Tekton Growth. Proper implementation ensures accurate analytics, attribution, and SEO tracking without triggering hosting, firewall, or Cloudflare errors.
Critical Rule: Different platforms require different installation methods. Using the wrong method (especially OTTO Pixel on GoHighLevel-hosted WordPress) will trigger errors and prevent tracking from working.
When to Use This SOP:
- Pre-launch: Install all tracking scripts (48-hour pre-launch window)
- Post-launch: Verify all tracking is live and reporting data
- Quarterly: Audit tracking codes to ensure nothing was removed
- When troubleshooting: If tracking isn’t working, use this to verify correct installation
Owner: Website Specialist (pre-launch setup), SEO Specialist (verification) Timeline: 1-2 hours pre-launch per website
Script Types & Purposes
Section titled “Script Types & Purposes”Before installation, understand what each script does:
| Script | Purpose | Installation Method |
|---|---|---|
| GA4 Measurement ID | Google Analytics 4 tracking (page views, conversions) | WPCode Header (WordPress) or Code Injection (Squarespace/GHL) |
| Google Tag Manager | Tag management container (GA4, advertising pixels, events) | WPCode Header (WordPress) or Code Injection (Squarespace/GHL) |
| GSC Verification Tag | Google Search Console ownership verification | WPCode Header (WordPress) or Code Injection (Squarespace/GHL) |
| OTTO Pixel | Search Atlas proprietary tracking & optimization | Search Atlas SEO plugin (GoHighLevel WordPress ONLY) — NOT WPCode |
| Facebook Pixel | Facebook/Meta advertising tracking | WPCode Header (WordPress) or Code Injection (Squarespace/GHL) |
| Google Ads Conversion Tag | Google Ads conversion tracking | GTM or WPCode Header (WordPress) or Code Injection (Squarespace/GHL) |
Section 1: WordPress Websites (Standard Hosting)
Section titled “Section 1: WordPress Websites (Standard Hosting)”Standard WordPress sites (hosted on WP Engine, Kinsta, Bluehost, etc.) use WPCode for script injection.
Pre-Installation Checklist
Section titled “Pre-Installation Checklist”Before starting:
- WPCode Lite plugin is installed and activated
- You have admin access to WordPress dashboard
- You have the tracking script code ready (copied from source)
- You know where the script should be placed (Header, Body, or Footer)
Installation Steps (WPCode)
Section titled “Installation Steps (WPCode)”STEPS:
-
Log into WordPress dashboard
-
Hover over Code Snippets in the left sidebar
-
Click Header & Footer
-
You’ll see three sections:
- Header (scripts that load in
<head>) - Body (After Opening Tag) (scripts after
<body>) - Footer (scripts before
</body>)
- Header (scripts that load in
-
Paste the tracking script in the appropriate location:
- Most common: Header (for GA4, GSC, GTM)
- If specified by provider: Body or Footer (read script provider’s instructions)
-
Click Save Changes
-
Verify on live website:
- Go to website front-end
- Right-click → Inspect (or Ctrl+Shift+I)
- Search in HTML (Ctrl+F) for the tracking code snippet
- Confirm you see the script in the
<head>or appropriate section
Which Scripts Go Where in WPCode
Section titled “Which Scripts Go Where in WPCode”Header (Most Common):
- Google Analytics 4 Measurement ID
- Google Tag Manager
<script> - GSC verification meta tag
- Facebook Pixel base code
- Google Ads conversion tag
Body (If Specified by Provider):
- Some pixels require body placement (check provider docs)
- Leave as Header unless specifically instructed otherwise
Footer (Rarely Used):
- Tracking scripts typically go in Header
- Footer placement only if provider explicitly requires it
QC Checklist — WordPress (Standard)
Section titled “QC Checklist — WordPress (Standard)”- WPCode plugin installed and activated
- GA4 script in Header via WPCode
- GSC verification tag in Header via WPCode
- GTM script in Header via WPCode (if applicable)
- All scripts visible in page source code (Ctrl+U, search for code)
- Scripts load without errors (no console errors)
- Tracking data appearing in respective platforms (GA4, GSC, GTM)
Section 2: WordPress Hosted on GoHighLevel (GHL-WordPress)
Section titled “Section 2: WordPress Hosted on GoHighLevel (GHL-WordPress)”CRITICAL LIMITATION: On GoHighLevel-hosted WordPress sites, OTTO Pixel cannot be added via WPCode.
Why: GoHighLevel uses Cloudflare proxy with stricter security rules. Attempting to inject OTTO Pixel via WPCode triggers a Cloudflare error and prevents the script from working.
For Non-OTTO Scripts (GA4, GTM, GSC, Facebook, Google Ads)
Section titled “For Non-OTTO Scripts (GA4, GTM, GSC, Facebook, Google Ads)”Use standard WPCode installation (same as Section 1):
- Go to WPCode → Header & Footer
- Paste script in Header
- Save and verify in page source
These scripts work fine with WPCode on GHL-hosted WordPress.
For OTTO Pixel (GoHighLevel WordPress ONLY)
Section titled “For OTTO Pixel (GoHighLevel WordPress ONLY)”CRITICAL RULE: Use Search Atlas SEO plugin, NOT WPCode.
Pre-Installation Checklist
Section titled “Pre-Installation Checklist”Before starting:
- Search Atlas SEO plugin is installed and activated in WordPress
- You have a Search Atlas account with this domain added as a property
- You have access credentials for Search Atlas
- You know the GoHighLevel site is hosted on WordPress (not native GHL)
Installation Steps (Search Atlas Integration)
Section titled “Installation Steps (Search Atlas Integration)”STEPS:
- Log into WordPress dashboard
- Look for Search Atlas menu on the left sidebar
- Click Search Atlas
- Navigate to Settings
- Click Connect to Your Account
- Log in with Search Atlas credentials (email + password)
- Select the correct Search Atlas account/property for this domain
- Complete authentication
- Return to WordPress and verify connection confirmed
What Happens Next:
- Search Atlas SEO plugin automatically connects to Search Atlas backend
- OTTO Pixel is automatically injected through the plugin
- Cloudflare proxy allows the connection (no firewall errors)
- No manual script injection required
Verification Steps
Section titled “Verification Steps”- Go to website front-end
- Right-click → Inspect (or Ctrl+Shift+I)
- Search in HTML (Ctrl+F) for “otto” or “search-atlas”
- Confirm OTTO Pixel code is present (or script reference)
- Verify no Cloudflare errors in browser console
Escalation
Section titled “Escalation”If OTTO Pixel is not appearing:
- Verify Search Atlas account is correct (matches domain)
- Verify WordPress admin is logged in as same user who authorized Search Atlas
- Check Search Atlas dashboard to confirm domain is connected
- Contact Search Atlas support with domain and account details
Why WPCode Doesn’t Work for OTTO on GHL
Section titled “Why WPCode Doesn’t Work for OTTO on GHL”Reference for understanding:
- WPCode injects scripts directly into the page source code
- GoHighLevel’s Cloudflare proxy intercepts direct script injection
- The proxy sees WPCode’s injection as a potential security threat
- Connection is blocked, script doesn’t load, OTTO Pixel fails
- Search Atlas plugin uses a different connection method (API-to-API)
- Cloudflare allows the plugin connection because it’s from a trusted partner
This is expected behavior and not a site issue. Use Search Atlas integration instead.
QC Checklist — WordPress on GoHighLevel
Section titled “QC Checklist — WordPress on GoHighLevel”For GA4, GTM, GSC, Facebook, Google Ads:
- WPCode plugin installed
- Scripts pasted in Header via WPCode
- Scripts visible in page source code
- No Cloudflare errors in browser console
- Tracking data appearing in respective platforms
For OTTO Pixel (Critical):
- Search Atlas SEO plugin installed and activated
- WordPress connected to Search Atlas account
- Domain confirmed in Search Atlas dashboard
- OTTO Pixel code present in page source OR script reference visible
- No Cloudflare firewall errors blocking the connection
- Coordinate with OTTO team to verify domain is properly connected in Search Atlas
Section 3: Squarespace Websites
Section titled “Section 3: Squarespace Websites”Squarespace uses native Code Injection for script installation.
Pre-Installation Checklist
Section titled “Pre-Installation Checklist”Before starting:
- You have admin access to Squarespace site
- You have the tracking script code ready (copied from source)
- You know where script should be placed (Header, Body, Footer)
Installation Steps (Squarespace Code Injection)
Section titled “Installation Steps (Squarespace Code Injection)”STEPS:
-
Log into Squarespace website editor
-
Go to Website → Pages (left sidebar)
-
Scroll to the bottom of the page list
-
Click Custom Code (or Code Injection)
-
You’ll see four sections:
- Header (scripts in
<head>) - Body (scripts after
<body>) - Footer (scripts before
</body>) - Not Indexed (if applicable)
- Header (scripts in
-
Paste the tracking script in appropriate section:
- Most common: Header (for GA4, GSC, GTM, Facebook, Google Ads)
- If specified by provider: Body or Footer
-
Click Save
Faster Navigation (Squarespace)
Section titled “Faster Navigation (Squarespace)”Shortcut:
- Use Squarespace search bar at top of interface
- Type “Code Injection”
- Jump directly to Code Injection settings
Which Scripts Go Where (Squarespace)
Section titled “Which Scripts Go Where (Squarespace)”Header:
- Google Analytics 4 Measurement ID
- Google Tag Manager
<script> - GSC verification meta tag
- Facebook Pixel
- Google Ads conversion tag
- OTTO Pixel (if using Squarespace)
Body:
- Only if provider specifically requires (rare)
Footer:
- Only if provider specifically requires (rare)
Verification Steps
Section titled “Verification Steps”- Go to website front-end
- Right-click → View Page Source (or Ctrl+U on Windows, Cmd+U on Mac)
- Search (Ctrl+F) for tracking code snippet
- Confirm script is present in
<head>or appropriate section - Verify no errors in browser console (F12 → Console tab)
QC Checklist — Squarespace
Section titled “QC Checklist — Squarespace”- Code Injection accessible in Squarespace settings
- GA4 script pasted in Header
- GSC verification tag pasted in Header
- GTM script pasted in Header (if applicable)
- All scripts visible in page source code
- No console errors appearing
- Tracking data appearing in respective platforms (GA4, GSC, GTM)
Section 3B: Astro + Cloudflare Pages (Tekton’s Modern Stack)
Section titled “Section 3B: Astro + Cloudflare Pages (Tekton’s Modern Stack)”Applies to: sites built with the astro-site-generator (most new Tekton client sites from April 2026 onward), and Tekton’s own properties like Blue Collar Techy. Deployed on Cloudflare Pages.
Do NOT use WPCode, Code Injection, or Head Tracking Codes on these sites. The entire tracking stack is wired through code in the repo and driven by the /gsc-verify Claude Code skill.
What gets installed on every Astro + CF Pages site
Section titled “What gets installed on every Astro + CF Pages site”| Layer | What | Where it lives |
|---|---|---|
| GSC verification meta | Auto-rendered by BaseLayout.astro when site-config.json → tracking.gscVerification is set | template/src/layouts/BaseLayout.astro |
| GA4 tag | Auto-rendered by BaseLayout.astro when site-config.json → tracking.ga4Id is set | Same file |
First-touch attribution + bctTrackLead | Shared JS file loaded from every page (for static sites) OR imported from a component (for Astro) | public/js/tracking.js or equivalent; reference BCT repo |
| Server-side Measurement Protocol | Fires generate_lead from form API endpoints | functions/api/*.js (CF Pages Functions) — reference BCT subscribe.js |
How to install (driven by /gsc-verify skill)
Section titled “How to install (driven by /gsc-verify skill)”Do not install anything manually on these sites. Run the skill end-to-end:
- Open a Claude Code session in the site’s repo
- Tell Claude: “Set up tracking on
<domain>” or “/gsc-verify” - Follow the 14-step orchestration — it pauses at each manual gate
The skill handles: GSC verification (meta tag injection + sitemap submit), GA4 property creation via Admin API, Measurement ID wiring into site-config.json, Measurement Protocol secret creation, server-side MP code injection, and final verification.
Your (Website Specialist) manual gates in the flow
Section titled “Your (Website Specialist) manual gates in the flow”The skill will pause and ask you to do each of these, in order:
- Create the GSC property in UI — pick URL-prefix
https://<domain>/with HTML tag method. Paste the token back to Claude. - Add service account as GSC Owner —
seo-brain@core-depth-472801-t2.iam.gserviceaccount.com→ Owner on the new GSC property. - Check the User Data Collection Acknowledgement box — GA4 Admin → Account settings → Account details → check the Data Processing Terms box. This unlocks MP secret creation.
- Set CF Pages env vars — Cloudflare dashboard → Pages → pick the project → Settings → Environment variables → add
GA4_MEASUREMENT_ID+GA4_MP_SECRETon Production → Save → redeploy. - Mark
generate_leadas a Key Event — GA4 Admin → Events → toggle “Mark as key event” on thegenerate_leadrow. (Event only appears after the first test submission.) - Turn on Enhanced Measurement — Data Streams → the stream → Enhanced Measurement toggle ON.
- Link GSC ↔ GA4 — GA4 Admin → Product links → Search Console links → Link → pick the property + stream. No API for this.
QC Checklist — Astro + Cloudflare Pages
Section titled “QC Checklist — Astro + Cloudflare Pages”-
/gsc-verifyskill run to completion - GSC property verified (URL-prefix with HTML meta, or Domain with DNS TXT)
- Sitemap submitted via
submit_to_gsc.py— 0 warnings, 0 errors - GA4 property + stream created, Measurement ID in
site-config.json → tracking.ga4Id -
public/js/tracking.js(or equivalent) has gtag bootstrap +bctGetAttribution+bctTrackLead - Every form handler calls
bctTrackLead('<form_name>')on success -
functions/api/*.jsendpoints that create leads fire server-side MP event viasendGa4Event - CF Pages env vars
GA4_MEASUREMENT_ID+GA4_MP_SECRETset on Production, deploy redeployed - GA4 Realtime shows a
generate_leadevent (with bothsource_channel=clientANDsource_channel=server) after test submission - GSC↔GA4 link established (Acquisition → Search Console report appears in GA4)
-
generate_leadmarked as Key Event, Enhanced Measurement ON
Why this stack is different
Section titled “Why this stack is different”OTTO Pixel is not used on Tekton-managed Astro sites — first-party GA4 + generate_lead events give cleaner, owner-controlled attribution data. If a client specifically asks for OTTO, add it via a script tag in BaseLayout.astro the same way we handle GA4.
WPCode, Code Injection, and Head Tracking Codes are irrelevant for Astro — they’re features of the other hosting platforms. Do not try to apply them here.
Section 4: GoHighLevel Native Websites (Non-WordPress)
Section titled “Section 4: GoHighLevel Native Websites (Non-WordPress)”GoHighLevel native sites (not WordPress-hosted) use the built-in Head Tracking Codes feature.
Pre-Installation Checklist
Section titled “Pre-Installation Checklist”Before starting:
- You have admin access to GoHighLevel account
- You’re in the correct sub-account (if multi-account)
- You have tracking script code ready
- You know whether this is GHL-native or GHL-hosted WordPress (if WordPress, see Section 2)
Installation Steps (GHL Native)
Section titled “Installation Steps (GHL Native)”STEPS:
- Log into GoHighLevel account
- Select the correct sub-account (if multi-account)
- Go to Sites in main menu
- Click Websites
- Select the correct website
- Click Settings in the top menu
- Look for Head Tracking Codes (or Tracking Codes)
- Paste the tracking script into the text field
- Click Save
Verification Steps
Section titled “Verification Steps”- Go to website front-end
- Right-click → View Page Source (Ctrl+U or Cmd+U)
- Search (Ctrl+F) for tracking code snippet
- Confirm script is present
- Verify tracking data appearing in respective platforms
Common GHL Tracking Codes
Section titled “Common GHL Tracking Codes”GA4 Measurement ID:
<!-- Google Analytics --><script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXX"></script><script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-XXXXXXXX');</script>Google Tag Manager:
<!-- Google Tag Manager --><script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','GTM-XXXXXXX');</script>QC Checklist — GoHighLevel Native
Section titled “QC Checklist — GoHighLevel Native”- Correct sub-account selected
- Correct website selected
- GA4 script pasted in Head Tracking Codes
- GSC verification tag pasted in Head Tracking Codes (if needed)
- GTM script pasted in Head Tracking Codes (if applicable)
- All scripts visible in page source code
- No console errors appearing
- Tracking data appearing in respective platforms
Section 5: Google Analytics 4 Setup & Verification
Section titled “Section 5: Google Analytics 4 Setup & Verification”GA4 is the primary analytics platform for all Tekton Growth websites.
GA4 Installation Checklist
Section titled “GA4 Installation Checklist”During website setup:
- GA4 property created in Google Analytics
- Measurement ID copied (format: G-XXXXXXXXXX)
- Measurement ID pasted into website tracking code
Post-Launch Verification:
- GA4 code installed on website (via WPCode, Code Injection, or Head Tracking Codes)
- Real-time data showing in GA4 dashboard (visit website 2-3 times)
- Page views being tracked
- Events being tracked (if configured)
- Conversions being logged (form submissions, etc.)
GA4 Verification Steps
Section titled “GA4 Verification Steps”-
Go to Google Analytics 4 dashboard
-
Select the correct property
-
Go to Admin (bottom left) → Events (Data Collection)
-
Verify tracking is active:
- Look at real-time dashboard
- You should see page views appearing as you visit the site
- Refresh the site a few times
- Refresh GA4 dashboard
- You should see traffic appearing within 1-2 minutes
-
If tracking is NOT appearing:
- Go back to website
- Right-click → View Page Source (Ctrl+U)
- Search for GA4 Measurement ID (G-XXXXXXXX)
- If not found, script is not installed correctly
- If found, there may be a tracking issue — escalate to SEO Specialist
QC Checklist — GA4
Section titled “QC Checklist — GA4”- GA4 property created
- Measurement ID copied and verified
- Measurement ID installed on website
- Real-time data appearing in GA4 dashboard
- Page views being tracked
- Setup complete and verified working
Section 6: Google Search Console Verification
Section titled “Section 6: Google Search Console Verification”GSC verification confirms site ownership and enables search analytics.
GSC Verification Methods
Section titled “GSC Verification Methods”Tekton Growth Approach: Meta Tag Method
This is the quickest and most reliable method:
- Go to Google Search Console (https://search.google.com/search-console)
- Click Add Property
- Enter the website URL
- Click Continue
- Choose HTML tag verification method
- Copy the verification tag (looks like
<meta name="google-site-verification" content="...">) - Paste into website tracking code location (WPCode Header, Code Injection, or Head Tracking Codes)
- Return to GSC
- Click Verify
Result: Site is verified and GSC can track your search presence.
Post-Verification Steps
Section titled “Post-Verification Steps”Once verified in GSC:
-
Submit XML sitemap:
- Go to GSC property
- Left sidebar → Sitemaps
- Enter URL:
https://yoursite.com/sitemap.xml - Click Submit
-
Monitor GSC for:
- Indexing status (are pages being indexed?)
- Crawl errors (any pages Google can’t crawl?)
- Search performance (impressions, clicks, rankings)
QC Checklist — Google Search Console
Section titled “QC Checklist — Google Search Console”- GSC verification tag installed on website
- GSC verification completed (site shows as verified)
- XML sitemap submitted
- Google is indexing pages (check Indexing report)
- No critical crawl errors present
Section 7: Google Tag Manager Setup & Verification
Section titled “Section 7: Google Tag Manager Setup & Verification”GTM allows centralized management of multiple tracking codes without editing website code repeatedly.
GTM Installation Checklist
Section titled “GTM Installation Checklist”During website setup:
- GTM container created (format: GTM-XXXXXXX)
- GTM installation script pasted into website Header (WPCode, Code Injection, or Head Tracking Codes)
- GTM noscript code pasted into website Body (if required by GTM)
GTM Verification Steps
Section titled “GTM Verification Steps”- Go to Google Tag Manager dashboard
- Select the correct container
- Go to Admin (top menu)
- Scroll to find your website and click Install Google Tag Manager
- Follow installation instructions (usually GTM code already installed)
- Click Verify Installation
- GTM will check if the code is present on your website
- If verification successful, you’ll see “Success” message
If Verification Fails:
- Check website for GTM code (right-click → View Page Source, search for GTM-XXXXXXX)
- If code not found, reinstall via WPCode/Code Injection/Head Tracking Codes
- If code found, may need 24 hours for GTM container to fully activate
QC Checklist — Google Tag Manager
Section titled “QC Checklist — Google Tag Manager”- GTM container created
- GTM installation script installed on website
- GTM noscript code installed (if applicable)
- GTM verification successful in GTM dashboard
- Tags and triggers configured for GA4 (if using GTM for GA4)
Section 8: OTTO Pixel Installation (Critical)
Section titled “Section 8: OTTO Pixel Installation (Critical)”OTTO is Search Atlas’s proprietary tracking and optimization pixel. Installation method depends on platform.
OTTO Installation Decision Tree
Section titled “OTTO Installation Decision Tree”Is this a WordPress site?
↳ YES, hosted on standard hosting (WP Engine, Kinsta, Bluehost):
- Use WPCode → Header & Footer
- Paste OTTO script provided by Search Atlas
- (Same as other scripts on standard WordPress)
↳ YES, hosted on GoHighLevel:
- Use Search Atlas SEO plugin (Section 2)
- Do NOT use WPCode
- If you use WPCode for OTTO on GHL-WordPress, it will fail with Cloudflare error
↳ NO, it’s Squarespace:
- Use Code Injection → Header
- Paste OTTO script
- (Same as other scripts on Squarespace)
↳ NO, it’s GoHighLevel native:
- Use Head Tracking Codes in GHL site settings
- Paste OTTO script provided by Search Atlas
OTTO Pixel Installation Steps (Standard WordPress)
Section titled “OTTO Pixel Installation Steps (Standard WordPress)”- Log into WordPress dashboard
- Go to Code Snippets → Header & Footer
- Paste OTTO Pixel code in Header section
- Click Save Changes
- Verify on website (right-click → View Page Source, search for “otto” or “search-atlas”)
OTTO Pixel Installation Steps (GoHighLevel WordPress — CRITICAL)
Section titled “OTTO Pixel Installation Steps (GoHighLevel WordPress — CRITICAL)”DO NOT use WPCode. Use Search Atlas SEO plugin instead. (See Section 2)
- Ensure Search Atlas SEO plugin is installed and activated
- Go to Search Atlas → Settings
- Click Connect to Your Account
- Log in with Search Atlas credentials
- Select the correct Search Atlas property
- Complete authentication
- OTTO Pixel will be automatically injected
OTTO Verification
Section titled “OTTO Verification”- Go to website front-end
- Right-click → View Page Source (Ctrl+U)
- Search for “otto” or “search-atlas”
- Confirm OTTO code is present
- Visit Search Atlas dashboard
- Go to the domain’s property
- Check tracking dashboard
- Verify traffic/events appearing from your website
QC Checklist — OTTO Pixel
Section titled “QC Checklist — OTTO Pixel”- OTTO installation method selected correctly (based on platform)
- OTTO script installed on website
- OTTO code visible in page source (right-click → View Page Source)
- No Cloudflare errors (if GoHighLevel-hosted)
- Search Atlas dashboard showing domain as tracked
- Traffic/events appearing in Search Atlas (if available)
- Coordinate with SEO Specialist/OTTO team for final verification
Section 9: Pre-Launch Tracking Checklist (Complete)
Section titled “Section 9: Pre-Launch Tracking Checklist (Complete)”Use this master checklist 48 hours before launch to ensure all tracking is installed and verified.
All Websites (Every Platform)
Section titled “All Websites (Every Platform)”-
GA4 Measurement ID
- Installed on website
- Visible in page source code
- Real-time data showing in GA4 dashboard
- Page views being tracked
-
Google Search Console
- Verification tag installed
- Site verified in GSC
- XML sitemap submitted
- Indexing status checked
-
Google Tag Manager (if applicable)
- GTM container created
- GTM installation scripts installed
- GTM verification successful
-
OTTO Pixel
- Correct installation method used (based on platform)
- OTTO code present in page source
- Search Atlas dashboard configured
- No Cloudflare errors (if GHL-hosted)
WordPress-Specific
Section titled “WordPress-Specific”- WPCode plugin installed and activated
- All scripts installed via Header & Footer section
- WP Optimize removed (not active)
- All tracking codes visible in page source (Ctrl+U)
- All scripts loading without console errors
Squarespace-Specific
Section titled “Squarespace-Specific”- Code Injection accessible
- All scripts installed in Header section
- All tracking codes visible in page source (Ctrl+U)
GoHighLevel Websites
Section titled “GoHighLevel Websites”If GHL-native:
- All tracking installed in Head Tracking Codes section
- All scripts visible in page source
If GoHighLevel-hosted WordPress:
- WPCode used for GA4, GTM, GSC (NOT OTTO)
- Search Atlas SEO plugin used for OTTO
- No Cloudflare errors
- All scripts visible in page source
Troubleshooting Guide
Section titled “Troubleshooting Guide”Script Not Appearing in Page Source
Section titled “Script Not Appearing in Page Source”Problem: You installed the script but can’t find it when you do Ctrl+U and search.
Solutions:
- Wait 5-10 minutes for cache to clear
- Hard refresh website (Ctrl+F5 on Windows, Cmd+Shift+R on Mac)
- Verify installation location (Header vs. Footer)
- Check for typos in script code
- If WordPress: verify WPCode plugin is activated
- If Squarespace: verify Code Injection was saved
- If GoHighLevel: verify Head Tracking Codes were saved
- Clear browser cache and try again
GA4 Not Tracking Traffic
Section titled “GA4 Not Tracking Traffic”Problem: Website is live but GA4 dashboard shows no data.
Solutions:
- Verify GA4 Measurement ID is correct (copy from GA4 → Admin → Data Streams)
- Verify script is installed on website (right-click → View Page Source, search for G-XXXXXXXX)
- Try accessing the website from a different device/network (some firewalls block GA4)
- Wait 24 hours (GA4 sometimes takes time to process initial data)
- Check Google Analytics real-time dashboard (not standard dashboard)
- If still not working, escalate to SEO Specialist
GSC Verification Fails
Section titled “GSC Verification Fails”Problem: GSC says verification failed.
Solutions:
- Verify meta tag is exactly as copied (no edits or truncation)
- Verify meta tag is in
<head>section (use View Page Source to confirm) - Try alternate verification method (Google Search Console offers multiple methods)
- Wait 24 hours and retry
- If still failing, escalate to SEO Specialist
OTTO Pixel Not Showing (GoHighLevel-Hosted WordPress)
Section titled “OTTO Pixel Not Showing (GoHighLevel-Hosted WordPress)”Problem: OTTO code not appearing in page source on GHL-hosted WordPress.
Solutions:
- Verify you used Search Atlas SEO plugin (NOT WPCode)
- Verify Search Atlas account is connected to correct domain
- Check browser console for Cloudflare errors (F12 → Console)
- Verify Search Atlas SEO plugin is activated in WordPress
- Try re-authenticating Search Atlas connection in WordPress
- Check Search Atlas dashboard to confirm domain is connected
- If Cloudflare blocking: contact Search Atlas support
Do NOT try to inject OTTO via WPCode — this will fail with Cloudflare errors.
Sign-Off: Tracking Installation Complete
Section titled “Sign-Off: Tracking Installation Complete”When all tracking is installed, tested, and verified:
-
Create list in Task Tracker documenting each tracking code installed:
- GA4: ✓ Installed, ✓ Tracking live
- GSC: ✓ Verified, ✓ Sitemap submitted
- GTM: ✓ Installed (if applicable)
- OTTO: ✓ Installed via [method used]
- Other: [List any additional tracking]
-
Screenshot evidence:
- Page source showing all scripts
- GA4 real-time dashboard showing traffic
- GSC showing site as verified
-
Confirm with SEO Specialist: “All tracking installed, tested, and live. Ready for launch.”
-
After launch: Monitor tracking data daily for first 7 days to ensure no data loss
Version Control:
- v1.0 (2026-03-31): Initial tracking scripts SOP, includes platform-specific installation methods, OTTO pixel critical rule for GoHighLevel-hosted WordPress, GA4/GSC/GTM setup, troubleshooting guide
- v1.1 (2026-04-21): Added Section 3B for Astro + Cloudflare Pages (Tekton’s modern stack). References
/gsc-verifyClaude Code skill as the orchestration layer. Removes OTTO Pixel requirement for Tekton-managed Astro sites (first-partygenerate_leadevents replace it).