How to Fix Carrd Tracking Events Not Firing | OpsBlu Docs

How to Fix Carrd Tracking Events Not Firing

Fix GA4, GTM, and Meta Pixel events not firing on Carrd — embed element code injection, single-page limitations, and Pro plan script debugging

This guide helps you diagnose and fix tracking issues on Carrd sites when GA4, Meta Pixel, GTM, or custom events aren't working properly.

General Guide: See Global Events Not Firing Issues for universal troubleshooting strategies.

Common Symptoms

  • GA4 page views not appearing in Realtime reports
  • Meta Pixel Helper shows "No Pixel Found"
  • GTM Preview mode won't connect
  • Custom events not showing in analytics
  • Form submissions not being tracked
  • Only works in preview, not on published site (or vice versa)

Carrd-Specific Root Causes

1. Testing in Preview Mode (Most Common)

Problem: Tracking only works on published sites, not in Carrd's preview mode.

Symptoms:

  • Analytics tags fire in preview, but data doesn't appear in reports
  • Pixel Helper shows pixel in preview, but no data in Events Manager
  • GTM debug connects in preview but tags don't fire

Why: Carrd's preview is a development environment. Tracking platforms filter out development traffic.

Solution:

  1. Publish your Carrd site
  2. Visit the published URL (not preview)
  3. Test tracking on published site

Published URLs:

  • Carrd subdomain: yoursite.carrd.co
  • Custom domain: yourdomain.com

2. No Carrd Pro Account

Problem: Custom code embeds require Carrd Pro.

Symptoms:

  • Can't add embed elements
  • Embed option grayed out
  • "Upgrade to Pro" message when trying to add tracking

Why: Free Carrd accounts don't support custom code.

Solution:

  1. Upgrade to Carrd Pro Lite ($9/year minimum)
  2. Go to carrd.co/pro
  3. Choose a plan (Lite, Standard, or Plus)
  4. After upgrading, embed elements will be available

3. Embed Element Not Published

Problem: Embed added but site not published with changes.

Symptoms:

  • Embed visible in editor
  • Published site doesn't have tracking code
  • "Old version" of site still live

Why: Changes only take effect after publishing.

Solution:

  1. Click Publish button (top right in Carrd editor)
  2. Confirm publication
  3. Wait 1-2 minutes for CDN propagation
  4. Hard refresh published site (Ctrl+Shift+R)
  5. Test tracking again

4. JavaScript Errors in Embed

Problem: Syntax error in custom code breaks tracking.

Symptoms:

  • Browser console shows red error messages
  • Tracking scripts don't load
  • Page functionality broken

Why: Copy/paste errors, missing characters, or invalid syntax.

Solution:

  1. Open published site
  2. Press F12 to open Developer Tools
  3. Go to Console tab
  4. Look for red error messages
  5. Fix syntax errors in embed code
  6. Republish

Common errors:

// Missing closing tag
<script>
  gtag('event', 'test');
// Missing </script>

// Typo in function name
gtagg('event', 'test'); // Should be "gtag"

// Missing quote
gtag('event', test'); // Missing opening quote

5. Incorrect Tracking IDs

Problem: Wrong Measurement ID, Pixel ID, or Container ID.

Symptoms:

  • Code loads but no data appears
  • Wrong property receives data
  • Pixel Helper shows different ID than expected

Why: Copy/paste error or using wrong ID.

Solution:

  1. Verify your IDs:

    • GA4: G-XXXXXXXXXX (starts with G-)
    • GTM: GTM-XXXXXXX (starts with GTM-)
    • Meta Pixel: 15-16 digit number
    • UA (old): UA-XXXXXXXX-X (deprecated, upgrade to GA4)
  2. Check in tracking code:

    • GA4: gtag('config', 'G-XXXXXXXXXX')
    • GTM: 'GTM-XXXXXXX' in script
    • Meta Pixel: fbq('init', 'YOUR_PIXEL_ID')
  3. Get correct IDs:

    • GA4: Admin > Data Streams > Measurement ID
    • GTM: Container ID in top right of GTM dashboard
    • Meta Pixel: Events Manager > Pixel ID

6. Ad Blockers and Privacy Extensions

Problem: Browser extensions block tracking scripts.

Symptoms:

  • Tracking works in incognito mode
  • Works on some devices but not others
  • Network tab shows requests blocked

Why: Ad blockers, privacy extensions, or brave browser blocking.

Solution:

  1. Test in incognito/private mode (disables most extensions)
  2. Temporarily disable ad blockers:
    • uBlock Origin
    • AdBlock Plus
    • Privacy Badger
    • Ghostery
  3. If tracking works with extensions disabled, that's the cause
  4. For testing, use incognito or disable blockers temporarily

Note: Users with ad blockers won't be tracked. This is expected.

7. Embed Order Issues

Problem: Event tracking code loads before base tracking code.

Symptoms:

  • gtag is not defined error
  • fbq is not defined error
  • Base tracking works, but custom events don't

Why: Embeds load in page order (top to bottom).

Solution:

Correct order (top to bottom):

  1. GA4 base code embed
  2. GTM container embed (if using GTM)
  3. Meta Pixel base code embed
  4. Custom event tracking embeds
  5. Widget/third-party embeds

In Carrd editor: Drag embeds to reorder them.

Diagnostic Process

Step 1: Check the Basics

Run through this checklist:

  • Carrd Pro active? Check subscription status
  • Site published? Not just saved in editor
  • Testing on published URL? Not preview mode
  • Correct URL? yoursite.carrd.co or custom domain
  • Hard refresh? Ctrl+Shift+R to clear cache
  • Ad blockers off? Test in incognito mode

If all checked and still not working, proceed to Step 2.

Step 2: Check Browser Console

  1. Open published Carrd site
  2. Press F12 (Windows/Linux) or Cmd+Option+I (Mac)
  3. Go to Console tab
  4. Look for errors (red text)

Common errors and fixes:

"gtag is not defined"

Cause: GA4 base code not loaded

Fix:

  • Verify GA4 embed exists and is published
  • Check GA4 embed comes before event tracking embeds
  • Verify no syntax errors in GA4 code

"fbq is not defined"

Cause: Meta Pixel base code not loaded

Fix:

  • Verify Meta Pixel embed exists
  • Check Pixel embed comes before event tracking
  • Verify Pixel ID is correct

"Uncaught SyntaxError"

Cause: JavaScript syntax error in embed

Fix:

  • Find the line number in error message
  • Review embed code for typos
  • Check for missing quotes, brackets, semicolons

"Failed to load resource"

Cause: External script blocked or unavailable

Fix:

  • Check Network tab for failed requests
  • Verify URLs are correct
  • Check if ad blocker is blocking

Step 3: Check Network Tab

  1. F12 > Network tab
  2. Reload page
  3. Filter by tracking service:
    • GA4: Filter by collect or google-analytics
    • Meta Pixel: Filter by facebook
    • GTM: Filter by googletagmanager

What to look for:

Good:

  • Requests to tracking endpoints (status 200)
  • Payload contains your IDs
  • Multiple requests (base code + events)

Bad:

  • No requests to tracking domains
  • Requests blocked (red, status failed)
  • 404 errors (script not found)

Step 4: Use Platform-Specific Tools

For GA4: Use DebugView

  1. Enable debug mode in GA4 config:
<script>
  gtag('config', 'G-XXXXXXXXXX', {
    'debug_mode': true
  });
</script>
  1. Go to GA4 > Admin > DebugView
  2. Visit your published site
  3. See events fire in real-time with full details

For Meta Pixel: Use Pixel Helper

  1. Install Meta Pixel Helper
  2. Visit your published Carrd site
  3. Click Pixel Helper icon
  4. Check for:
    • Pixel found
    • PageView event
    • Correct Pixel ID
    • ✗ No errors

For GTM: Use Preview Mode

  1. In GTM, click Preview
  2. Enter your published Carrd URL
  3. Click Connect
  4. New window opens with debug panel
  5. Verify:
    • Container loaded
    • Tags firing
    • Variables populated
    • Triggers activating

Note: GTM Preview requires published site, won't work in Carrd preview.

Common Carrd Tracking Issues

Issue 1: Form Submissions Not Tracked

Problem: Form submit events don't fire or data doesn't reach analytics.

Cause: Carrd forms redirect quickly, tracking doesn't complete before redirect.

Solution: Use sendBeacon or event callback.

Option A: sendBeacon (Recommended)

<script>
document.addEventListener('DOMContentLoaded', function() {
  var forms = document.querySelectorAll('form');

  forms.forEach(function(form) {
    form.addEventListener('submit', function() {
      // Use beacon for guaranteed delivery
      gtag('event', 'form_submit', {
        'form_id': form.getAttribute('id') || 'contact'
      }, {
        'transport_type': 'beacon'
      });
    });
  });
});
</script>

Option B: Event callback

<script>
form.addEventListener('submit', function(e) {
  e.preventDefault(); // Prevent immediate redirect

  gtag('event', 'form_submit', {
    'event_callback': function() {
      form.submit(); // Submit after tracking
    },
    'event_timeout': 2000
  });
});
</script>

Issue 2: Events Fire in Realtime but Not in Reports

Problem: Events appear in GA4 Realtime but not in standard reports.

Cause: This is normal - standard reports have 24-48 hour delay.

Solution:

  • Wait 24-48 hours for data to appear in standard reports
  • Use Realtime and DebugView for immediate feedback
  • Check Engagement reports after 24 hours

Issue 3: Duplicate Events

Problem: Same event fires multiple times per action.

Causes:

  • Tracking code installed multiple times
  • Both direct installation AND GTM
  • Event listeners attached multiple times

Solutions:

Check for duplicates:

  1. Search all embeds for duplicate tracking codes
  2. If using GTM, remove direct GA4/Pixel installation
  3. Verify no duplicate embeds

Prevent duplicate listeners:

<script>
var formTracked = false;

form.addEventListener('submit', function() {
  if (!formTracked) {
    formTracked = true;
    gtag('event', 'form_submit', {...});
  }
});
</script>

Or use once option:

<script>
form.addEventListener('submit', function() {
  gtag('event', 'form_submit', {...});
}, { once: true });
</script>

Issue 4: Tracking Works on Desktop but Not Mobile

Problem: Analytics track on desktop browsers but not mobile devices.

Causes:

  • Mobile browser privacy settings
  • Mobile ad blockers (built into Safari, Brave)
  • iOS tracking prevention

Solutions:

  1. Test on actual device: Mobile simulators may not be accurate
  2. Disable mobile ad blockers: Check Safari settings
  3. Use standard events: Custom events may be blocked more
  4. Check Intelligent Tracking Prevention: iOS Safari limits tracking

Test on mobile:

  • Visit published site on phone
  • Check GA4 Realtime or Meta Events Manager
  • Verify mobile traffic appears

Issue 5: GTM Container Won't Load

Problem: GTM container doesn't load on Carrd site.

Symptoms:

  • Preview mode won't connect
  • No GTM requests in Network tab
  • Tags don't fire

Solutions:

  1. Verify container ID: Check GTM-XXXXXXX is correct
  2. Check both code snippets added:
    • Head code (JavaScript)
    • Body code (noscript fallback)
  3. Publish Carrd site: GTM requires published site
  4. Check embed placement: GTM embed should be at top of page
  5. Verify no JavaScript errors: Console should be clean

Issue 6: Events Fire in Preview but Not Published

Problem: Events work in Carrd preview but not on published site.

Unusual case (usually it's the opposite).

Causes:

  • Caching issues
  • Different domain settings
  • SSL/HTTPS issues

Solutions:

  1. Hard refresh published site: Ctrl+Shift+R
  2. Clear browser cache completely
  3. Wait for CDN propagation: 5-10 minutes after publishing
  4. Test in incognito mode: Rule out cache issues
  5. Check custom domain DNS: If using custom domain

Platform-Specific Troubleshooting

Google Analytics 4

No data in Realtime:

  1. Verify Measurement ID format: G-XXXXXXXXXX
  2. Check site is published (not preview)
  3. Disable ad blockers
  4. Wait up to 30 seconds for data to appear
  5. Verify GA4 property is active (not deleted)

PageView fires but custom events don't:

  1. Check event syntax: gtag('event', 'event_name', {...})
  2. Verify gtag is loaded (check console: typeof gtag)
  3. Ensure event tracking embed comes AFTER GA4 base code
  4. Check for JavaScript errors
  5. Enable debug mode and check DebugView

Events show in DebugView but not Realtime:

  1. Disable debug mode (debug events don't count)
  2. Republish site
  3. Test again in normal mode

Meta Pixel

Pixel Helper shows "No Pixel Found":

  1. Verify Pixel ID is correct (15-16 digits)
  2. Check embed is published
  3. Test on published site (not preview)
  4. Check browser console for errors
  5. Verify fbq is defined (console: typeof fbq)

Pixel loads but events don't fire:

  1. Check event syntax: fbq('track', 'EventName', {...})
  2. Verify Meta Pixel base code loads first
  3. Check Events Manager > Test Events
  4. Ensure event name is correct (case-sensitive)
  5. Check for ad blocker interference

Events appear multiple times:

  1. Check for duplicate Pixel installations
  2. Remove Pixel from GTM if also installed directly
  3. Search all embeds for duplicate fbq('init') calls

Google Tag Manager

Preview mode won't connect:

  1. Ensure site is published (GTM Preview requires published site)
  2. Check container ID: GTM-XXXXXXX
  3. Verify both snippets added (head + body)
  4. Disable ad blockers
  5. Try different browser

Container loads but tags don't fire:

  1. Check tag configuration in GTM
  2. Verify triggers are set correctly
  3. Test trigger conditions (Preview mode > Variables)
  4. Ensure tag type is correct (GA4 Configuration vs. GA4 Event)
  5. Check firing order (some tags depend on others)

Tags fire in Preview but not normally:

  1. Publish GTM container (not just preview)
  2. Clear browser cache
  3. Hard refresh site
  4. Wait for GTM CDN propagation (2-5 minutes)

Testing Checklist

Before contacting support or giving up, verify:

  • Carrd Pro subscription is active
  • Site is published (not just saved)
  • Testing on published URL (yoursite.carrd.co or custom domain)
  • Hard refreshed browser (Ctrl+Shift+R)
  • Tested in incognito mode (no extensions)
  • Browser console is clear (no JavaScript errors)
  • Tracking IDs are correct (G-, GTM-, or 15-digit number)
  • Embed elements are in correct order (base code first)
  • Network tab shows tracking requests (200 status)
  • Platform-specific tools confirm tracking (Pixel Helper, DebugView, GTM Preview)

If all checked and still not working, proceed to advanced debugging.

Advanced Debugging

Manual Event Test

Test tracking manually in browser console:

GA4:

// Check if gtag exists
console.log(typeof gtag); // Should be "function"

// Fire test event
gtag('event', 'test_event', {
  'test_param': 'test_value'
});

// Check dataLayer
console.log(window.dataLayer);

Meta Pixel:

// Check if fbq exists
console.log(typeof fbq); // Should be "function"

// Fire test event
fbq('track', 'Lead', {
  'content_name': 'Test Lead'
});

// Check pixel queue
console.log(window._fbq);

GTM:

// Check if GTM loaded
console.log(window.google_tag_manager);

// Push test event to dataLayer
dataLayer.push({
  'event': 'test_event',
  'test_data': 'test_value'
});

console.log(dataLayer);

Compare Working vs. Broken

If you have another working Carrd site:

  1. Compare embed code side-by-side
  2. Check for differences in:
    • Code formatting
    • Tracking IDs
    • Embed placement
    • Embed order
  3. Copy working code to broken site
  4. Test if that fixes the issue

Create Minimal Test Case

Build the simplest possible test:

  1. Create new Carrd site (Pro required)
  2. Add single embed with only base tracking code:
<!-- Minimal GA4 test -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'G-XXXXXXXXXX');
</script>
  1. Publish
  2. Test
  3. If works: issue is with your main site's code
  4. If doesn't work: issue may be with account or IDs

When to Contact Support

Contact the appropriate support if:

Carrd Support (support@carrd.co):

  • Embed elements not appearing (Pro account issue)
  • Publishing failures
  • Custom domain connection issues
  • Account or billing questions

GA4/GTM Support (support.google.com/analytics):

  • Property setup issues
  • Data collection verification
  • Reporting problems
  • Advanced configuration

Meta Business Support (facebook.com/business/help):

  • Pixel setup issues
  • Events Manager problems
  • Business Manager access
  • Domain verification

Prevention

Prevent future tracking issues:

  1. Document your setup: Note which embeds contain which tracking codes
  2. Test before adding: Add one tracking code at a time, test, then add next
  3. Regular audits: Monthly check that all tracking still works
  4. Backup embeds: Save embed code in separate document
  5. Version control: Note when you make changes
  6. Monitor alerts: Set up GA4/Meta alerts for data collection drops

Next Steps

Additional Resources