SITE123 Troubleshooting: Common Issues and Fixes | OpsBlu Docs

SITE123 Troubleshooting: Common Issues and Fixes

Troubleshoot common Site123 issues including performance problems and tracking failures.

Common issues you may encounter with your Site123 website and how to diagnose and fix them.

Performance Issues

Site123 website performance directly impacts user experience, conversion rates, and SEO rankings. Core Web Vitals are critical metrics that affect search rankings.

Largest Contentful Paint (LCP)

LCP measures loading performance. Site123-specific LCP issues include:

  • Code injection scripts blocking render
  • Unoptimized images in Site123 galleries
  • Heavy third-party scripts and widgets
  • Custom fonts loading slowly
  • Multiple tracking scripts in code injection

Target: LCP under 2.5 seconds

Cumulative Layout Shift (CLS)

CLS measures visual stability. Site123-specific CLS issues include:

  • Images without dimensions in Site123 builder
  • Dynamic content from injected scripts
  • Font loading causing text shifts
  • Third-party widgets loading late
  • Ads or popups from code injection

Target: CLS under 0.1

General Performance Best Practices

Site123 Template Selection:

  • Choose lighter templates with fewer animations
  • Avoid templates with heavy video backgrounds
  • Test template performance before committing
  • Regularly review Site123's updated templates

Code Injection Management:

  • Minimize number of injected scripts
  • Use async/defer attributes for scripts
  • Place non-critical scripts in footer injection
  • Consolidate tracking through GTM
  • Remove unused tracking codes

Image Optimization:

  • Use Site123's image compression features
  • Upload appropriately sized images
  • Use WebP format when possible
  • Enable lazy loading for galleries
  • Set explicit image dimensions

Third-Party Scripts:

  • Audit all code injection scripts
  • Remove unused integrations
  • Delay non-critical scripts
  • Monitor script impact on performance

For general performance concepts, see the global performance hub.

Tracking & Analytics Issues

Events Not Firing

Common causes of tracking failures on Site123:

  • Code injection not saved properly
  • JavaScript errors from conflicting scripts
  • Ad blockers preventing pixel loads
  • Incorrect GTM container configuration
  • Scripts loading in wrong order
  • Site123 preview mode vs published site

Common scenarios:

  • GA4 events not appearing in Realtime
  • Meta Pixel showing errors in Pixel Helper
  • GTM container not loading
  • Forms not tracked despite code injection
  • Duplicate events from multiple implementations

Tracking Best Practices

Consolidate Tracking:

  • Use GTM as single source for all tags
  • Remove duplicate tracking codes
  • Document all code injections
  • Test before and after changes

Test Thoroughly:

  • Use browser extensions (GTM debugger, GA debugger, Meta Pixel Helper)
  • Test in incognito/private browsing
  • Test across different browsers
  • Test on mobile devices
  • Verify in platform analytics (GA4, Meta Events Manager)
  • Test published site, not preview

Monitor Continuously:

  • Set up alerts for tracking failures
  • Review data quality weekly
  • Check for bot traffic in analytics
  • Monitor conversion tracking accuracy
  • Verify events after Site123 updates

For general tracking concepts, see the global troubleshooting hub.

Common Site123-Specific Issues

Code Injection Not Working

Problem: Code added to Site123's code injection doesn't execute.

Diagnosis:

  1. Check browser console (F12) for JavaScript errors
  2. Verify code saved in Site123 settings
  3. Confirm site is published (not in preview)
  4. Check code syntax is valid
  5. Look for conflicting scripts

Fix:

  • Ensure code is in correct injection area (head, body, footer)
  • Wrap code in <script> tags if needed
  • Use DOMContentLoaded for timing-dependent code
  • Remove conflicting or duplicate scripts
  • Clear browser cache and test in incognito

Preview Mode vs. Published Site

Problem: Tracking works in preview but not on published site (or vice versa).

Cause: Site123's preview mode may behave differently than published site.

Fix:

  1. Always test on published site for final verification
  2. Clear Site123 cache after publishing
  3. Wait 5-10 minutes after publishing for changes to propagate
  4. Use incognito mode to avoid cached versions

Element Selectors Not Working

Problem: JavaScript can't find Site123 page elements.

Cause: Site123 may use dynamic classes or IDs that change.

Diagnosis:

  1. Inspect element (right-click → Inspect)
  2. Check actual class names and IDs
  3. Verify element exists when script runs

Fix:

// Use more generic selectors
document.querySelector('form') // Any form
document.querySelectorAll('.s123-button') // Site123 button class

// Wait for element to exist
function waitForElement(selector, callback) {
  const element = document.querySelector(selector);
  if (element) {
    callback(element);
  } else {
    setTimeout(() => waitForElement(selector, callback), 100);
  }
}

waitForElement('form', function(form) {
  // Your code here
});

Multiple Language Issues

Problem: Tracking only works on one language version of site.

Cause: Code injection may not apply to all languages.

Fix:

  1. Ensure code injection is in global settings (not page-specific)
  2. Test each language version
  3. Use language-agnostic selectors
  4. Track current language in events:
    const lang = document.documentElement.lang;
    gtag('event', 'page_view', {
      'language': lang
    });
    

Form Tracking Challenges

Problem: Site123 contact forms don't trigger tracking events.

Cause: Site123 forms may use AJAX submission or have custom behavior.

Diagnosis:

  1. Check if form has submit event
  2. Look for AJAX requests in Network tab
  3. Verify form selector is correct

Fix:

document.addEventListener('DOMContentLoaded', function() {
  // Try multiple approaches
  const forms = document.querySelectorAll('form');

  forms.forEach(function(form) {
    // Standard submit event
    form.addEventListener('submit', function(e) {
      gtag('event', 'form_submission', {
        'form_id': this.id || 'contact_form'
      });
    });

    // Also track submit button click as backup
    const submitBtn = form.querySelector('button[type="submit"], input[type="submit"]');
    if (submitBtn) {
      submitBtn.addEventListener('click', function() {
        gtag('event', 'form_attempt', {
          'form_id': form.id || 'contact_form'
        });
      });
    }
  });
});

Mobile vs. Desktop Discrepancies

Problem: Tracking works on desktop but not mobile.

Diagnosis:

  1. Test on actual mobile device (not just DevTools)
  2. Check mobile browser console (use remote debugging)
  3. Verify scripts load on mobile (Network tab)
  4. Check for mobile-specific JavaScript errors

Fix:

  • Ensure code injection applies to mobile pages
  • Test responsive behavior
  • Check for mobile-specific Site123 templates
  • Verify GTM loads on mobile

Debugging Tools

Browser Developer Tools

Chrome DevTools (F12):

  • Console: Check for JavaScript errors
  • Network: Verify analytics requests sent
  • Application: Check localStorage, cookies
  • Elements: Inspect DOM structure

Site123-Specific Tools

Site123 Preview Mode: Test changes before publishing, but always verify on published site.

Site123 Cache: If changes don't appear:

  1. Republish site
  2. Clear browser cache (Ctrl+Shift+Del)
  3. Test in incognito mode
  4. Wait 5-10 minutes for CDN propagation

Analytics Debugging Tools

Browser Extensions:

Platform Tools:

  • GA4 DebugView
  • Meta Events Manager Test Events
  • GTM Preview Mode

Performance Testing Tools

Speed Testing:

Core Web Vitals:

Common Error Messages

"gtag is not defined"

Cause: GA4 script not loaded before gtag() call.

Fix:

  • Ensure GA4 base script is in head code injection
  • Wrap custom events in DOMContentLoaded
  • Check script load order in Network tab

"fbq is not defined"

Cause: Meta Pixel base code not loaded before fbq() call.

Fix:

  • Ensure Meta Pixel base code is in head injection
  • Place custom events after pixel initialization
  • Check for ad blockers blocking fbevents.js

"Cannot read property 'push' of undefined"

Cause: data layer not initialized before push attempt.

Fix:

// Initialize data layer before pushing
window.dataLayer = window.dataLayer || [];
dataLayer.push({...});

"Mixed Content" Warnings

Cause: Loading HTTP resources on HTTPS Site123 site.

Fix:

  • Use HTTPS URLs for all external scripts
  • Update http:// to https:// in code injection
  • Verify third-party resources support HTTPS

Getting Help

Site123 Support

Site123 Help Center:

Site123 Support:

Analytics Platform Support

Google Analytics:

Meta Business:

When to Hire a Developer

Consider hiring help when:

  • Complex custom tracking requirements
  • Multiple JavaScript errors you can't resolve
  • Need custom integrations beyond Site123's capabilities
  • Performance issues persist despite optimizations
  • Require server-side tracking implementation

Where to find developers:

  • Upwork - Freelance developers
  • Fiverr - Quick tasks
  • Site123 community recommendations

Preventive Measures

Before Making Changes

  1. Document current setup

    • List all code injections
    • Note working tracking implementations
    • Save backups of code snippets
  2. Test in preview mode first

    • Use Site123's preview feature
    • Verify changes work as expected
    • Check for errors before publishing
  3. Implement changes incrementally

    • Add one tracking code at a time
    • Test after each addition
    • Don't bulk-add multiple scripts

Regular Maintenance

Monthly:

  • Review GA4 for data quality issues
  • Check Meta Events Manager for errors
  • Test key tracking events still firing
  • Review performance metrics

Quarterly:

  • Audit all code injection scripts
  • Remove unused tracking codes
  • Update to latest tracking code versions
  • Test across browsers and devices

After Site123 Updates:

  • Verify tracking still works
  • Check for console errors
  • Test forms and buttons
  • Review performance metrics

Next Steps

Performance Issues:

Tracking Issues:

Prevention:

  • Document your setup
  • Test before deploying
  • Monitor regularly
  • Keep code organized