Problem: Claim request API was returning 400 Bad Request
Root Cause: Personal email validation was rejecting Gmail, Yahoo, Hotmail, etc.
Fix Applied:
- Disabled personal email domain validation
- Added debug logging to see what's being sent to API
Test Now:
- Go to any business page or admin panel
- Click "Claim This Business"
- Enter ANY email (Gmail, Yahoo, etc. now work)
- Submit the form
- Check browser console for
[CLAIM API] Request:log - You should receive the claim email
Watch Logs:
ssh -i ~/.ssh/id_ed25519 root@72.60.43.168 "pm2 logs dfw-daily --lines 50"Look for [CLAIM API] Request: to see what's being sent.
Current Status: GA4 tracking IS installed on the site. Script tag is present:
<script async src="https://www.googletagmanager.com/gtag/js?id=G-2FY2KCJV99"></script>Why you might not see yourself in Real-Time:
- uBlock Origin, AdBlock Plus, etc. block Google Analytics
- Fix: Disable ad blocker OR test in incognito window
- Privacy Badger, Ghostery, etc. block tracking
- Fix: Test in private/incognito mode
- Some VPNs (Pi-hole, NextDNS) block analytics at DNS level
- Fix: Disconnect VPN temporarily
- Console errors preventing gtag from loading
- Fix: Open DevTools (F12), check Console for red errors
- CSP headers might be blocking inline scripts
- Fix: Check Network tab in DevTools for blocked requests
- Go to: https://dfw-daily.com
- Right-click > View Page Source
- Search for:
G-2FY2KCJV99 - You should see the googletagmanager script
Result: Script IS in page source (confirmed)
- Open DevTools (F12)
- Go to Network tab
- Refresh the page
- Filter by:
google - Look for:
gtag/js?id=G-2FY2KCJV99(should be Status 200)collect?...org/collect?...(analytics ping)
If you see 200 status = GA4 IS loading If you see blocked/failed = Ad blocker or extension is blocking
- Open DevTools (F12)
- Go to Console tab
- Type:
window.gtag - Press Enter
If you see: function gtag(){dataLayer.push(arguments);} = GA4 IS WORKING
If you see: undefined = GA4 script didn't load
- Open Console (F12)
- Paste this:
if (window.gtag) { gtag('event', 'test_event', { event_category: 'manual_test', event_label: 'console_test', value: 1 }); console.log('✓ Test event sent!'); } else { console.log('✗ gtag not found - GA4 not loaded'); }
- Press Enter
- Go to GA4 Real-Time > Events
- Look for
test_eventin the events list
If you see the event = GA4 IS WORKING END-TO-END
- Open incognito/private window
- Go to https://dfw-daily.com
- Open DevTools (F12)
- Run Test 3 and Test 4 above
- Check GA4 Real-Time
If it works in incognito = Your extensions are blocking GA4
Based on your symptoms, an ad blocker is probably blocking GA4.
Quick Fix:
- Go to GA4 Real-Time: https://analytics.google.com
- Open https://dfw-daily.com in incognito mode
- Refresh GA4 Real-Time
- You should see yourself!
Permanent Fix:
- Whitelist dfw-daily.com in your ad blocker
- OR disable ad blocker for local development
-
Test Claim Link (Fixed):
- Go to https://dfw-daily.com
- Pick any business
- Click "Claim This Business"
- Enter email (Gmail works now)
- Submit
- Expected: Success message, email sent
-
Test GA4 Tracking (Incognito):
- Open incognito window
- Go to https://dfw-daily.com
- Open DevTools Console (F12)
- Type:
window.gtagand press Enter - Expected: Function definition (not undefined)
-
Test Claim Link Click Tracking:
- Check your email for claim link
- Click "Claim Your Business" button
- Spend 30+ seconds on page
- Go to GA4 Real-Time
- Expected: See page view for
/claim/[id]
-
Test GA4 Event:
- In Console, run the test event code from Test 4
- Go to GA4 Real-Time > Events
- Expected: See
test_eventin list
Check the PM2 logs for the exact error:
ssh -i ~/.ssh/id_ed25519 root@72.60.43.168 "pm2 logs dfw-daily --lines 100"Look for lines with [CLAIM API] to see:
- What data is being sent
- What validation is failing
- What database error occurred (if any)
There might be a Content Security Policy issue. Check:
ssh -i ~/.ssh/id_ed25519 root@72.60.43.168 "
cd /var/www/dfw-daily
grep -r 'Content-Security-Policy' src/
"If CSP is blocking Google Analytics, we need to add:
script-src 'self' 'unsafe-inline' https://www.googletagmanager.com;
connect-src 'self' https://www.google-analytics.com https://analytics.google.com;
- Right now: Test claim links with any email
- Right now: Open incognito window and check if GA4 works
- If GA4 works in incognito: Disable ad blocker or whitelist site
- Tomorrow: Once GA4 is confirmed working, export first CSV
- Day 2: Process CSV and see your first hot leads!
Test both fixes now and let me know what you see!