Troubleshooting

Common issues and solutions

Troubleshooting Guide

Common issues and step-by-step solutions.

Events Not Appearing in Meta/Facebook

Step 1: Check Live Logs

  1. Go to your Dashboard
  2. Select your gateway
  3. Go to Live Logs tab
  4. Send a test event from your site
  5. Look for the event in the logs

If you DON’T see the event:

If you see the event with 200 status:

  • The event is reaching Anacoic
  • Proceed to Step 2

If you see the event with error status:

  • Check the error message in the log
  • Common: Invalid Pixel ID, expired token

Step 2: Verify Meta Integration

  1. Go to gateway Integrations tab
  2. Check that Meta CAPI is toggled ON
  3. Verify:
    • Pixel ID is correct (found in Meta Events Manager)
    • Access Token is valid (not expired)
  4. Click Save

Step 3: Check Meta Events Manager

  1. Go to Meta Events Manager
  2. Select your Pixel
  3. Go to Test Events tab
  4. Send an event from your website
  5. Look for “Browser” and “Server” events

If only Browser shows:

  • Your Meta Pixel (browser) is working
  • Anacoic server events aren’t reaching Meta
  • Check your Access Token hasn’t expired

If neither shows:

  • Your Meta Pixel isn’t firing
  • Check that the base pixel code is on your site

Step 4: Common Meta Errors

ErrorCauseFix
”Invalid Pixel ID”Wrong Pixel IDCopy from Events Manager → Settings
”Invalid Token”Expired access tokenGenerate new token in Events Manager
”Event Missing Email”Low EMQAdd user.email to events
”Deduplication Issue”Duplicate event_idUse unique IDs per event

Installation Issues

Tracker Not Loading

Check in Browser DevTools:

  1. Open DevTools (F12)
  2. Go to Console tab
  3. Look for errors containing “anacoic”

Error: “Failed to load script”

GET https://edge.anacoic.com/v1/tracker.js net::ERR_BLOCKED_BY_CLIENT

Cause: Ad blocker or browser privacy setting

Fixes:

  • Use a custom domain (bypasses blockers)
  • Add edge.anacoic.com to ad blocker whitelist

Error: “anacoic is not defined”

Cause: Script not loaded before calling anacoic.track()

Fix:

// Wait for script to load
window.addEventListener('load', function() {
  if (window.anacoic) {
    window.anacoic.track({...});
  }
});

CORS Errors

Access to fetch at 'https://edge.anacoic.com/track' 
from origin 'https://yoursite.com' has been blocked by CORS policy

Cause: Domain Locking is enabled but your domain isn’t allowed

Fix:

  1. Go to gateway Security tab
  2. Add your domain to Allowed Origins
  3. Or disable Block Unknown Hosts

Low EMQ Scores

Understanding Your Score

EMQ (Event Match Quality) scores how well Meta can match your event to a Facebook user.

ScoreRatingImpact
8-10ExcellentBest ad performance
6-7GoodAcceptable
4-5FairAttribution issues
0-3PoorSignificant data loss

Common Causes of Low Scores

PageView Events Score 1.0-2.0

  • This is normal — PageViews rarely have user data
  • Focus on conversion events (Purchase, Lead, etc.)

Purchase Events Score < 6.0

  • Missing email: Pass user.email from your order data
  • Missing phone: Pass user.phone in E.164 format (+1234567890)
  • Missing customer ID: Pass user.external_id

Quick EMQ Boost

Before:

anacoic.track({
  event_name: 'Purchase',
  custom_data: { value: 99.99, currency: 'USD' }
});
// EMQ: ~2.5

After:

anacoic.track({
  event_name: 'Purchase',
  user: {
    email: customer.email,      // +2.5 points
    phone: customer.phone,      // +2.0 points  
    external_id: customer.id    // +1.0 point
  },
  custom_data: { value: 99.99, currency: 'USD' }
});
// EMQ: ~8.0

Platform-Specific Tips

Shopify:

  • Use {{ customer.email }} on thank you page
  • Phone must be formatted: {{ customer.phone | replace: ' ', '' }}

WooCommerce:

  • Access via $order->get_billing_email()
  • Convert phone to E.164 format

React/Next.js:

  • Pass user data from your auth context
  • Use server-side tracking for secure data

Duplicate Events

Symptoms

  • Same purchase appears twice in Meta
  • Events Manager shows “Deduplication Issues”

Causes

1. Same event_id sent twice

// WRONG: Static ID
anacoic.track({
  event_id: 'purchase_123'  // Same every time!
});

// RIGHT: Unique ID
anacoic.track({
  event_id: `purchase_${orderId}_${timestamp}`
});

2. Browser + Server both sending

  • Meta Pixel (browser) sends Purchase
  • Your server also sends Purchase
  • Both reach Meta

Fix: Use the same event_id in both:

// Browser
fbq('track', 'Purchase', {eventID: 'order_123_1704067200'});
anacoic.track({event_id: 'order_123_1704067200'});

Agent Gateway Issues

AI Agents Not Seeing My Data

Step 1: Check Agent Gateway is Enabled

  1. Dashboard → Gateway → Agent tab
  2. Toggle “Agent Gateway” to ON
  3. Save configuration

Step 2: Test in AI Agent Preview

  1. Go to AI Agent Preview section
  2. Click Connect to Preview
  3. Click Preview Pricing
  4. Check if pricing data appears

Step 3: Check Pricing JSON Format

Correct:

[
  {"name": "Core", "price": 0.001, "unit": "per event"},
  {"name": "Pro", "price": 49, "unit": "per month"}
]

Common mistakes:

  • Not an array ❌
  • Missing name field ❌
  • Price as string instead of number ❌

Step 4: Verify MCP Endpoint

Test directly:

curl https://edge.anacoic.com/v1/mcp/sse?gid=YOUR_GATEWAY_ID

Should return SSE stream (not 404).

Tools Not Working

“Webhook not configured” error:

  1. Enable a tool (e.g., “Book Demo”)
  2. Enter Webhook URL (e.g., Zapier webhook)
  3. Save Agent configuration

Webhook not firing:

  1. Test webhook with curl first:
curl -X POST YOUR_WEBHOOK_URL \
  -H "Content-Type: application/json" \
  -d '{"test": true}'
  1. Check webhook receives the test
  2. If not, check URL is correct

Rate Limiting

Symptoms

  • Events return 429 error
  • “Rate limit exceeded” message

Limits

  • 100 requests/minute per gateway
  • Burst allowed for first 10 requests

Solutions

1. Batch events (if applicable)

// Instead of 100 individual requests
// Batch into fewer requests with multiple events

2. Check for loops

// WRONG: Infinite loop
trackEvent();
setInterval(trackEvent, 100);  // Every 100ms!

// RIGHT: Reasonable frequency
setInterval(trackEvent, 60000);  // Every minute

3. Upgrade plan

  • All plans (Trial/Core/Pro) share the same rate limits
  • Contact support for custom limits

Custom Domain Issues

DNS Not Verifying

Step 1: Check CNAME Record

dig metrics.yoursite.com CNAME

Should return:

metrics.yoursite.com.  CNAME  your-gateway.anacoic.com.

Step 2: Wait for Propagation

  • DNS changes take 5 minutes to 48 hours
  • Usually 5-30 minutes

Step 3: Check Cloudflare Settings If using Cloudflare:

  • Set record to DNS Only (grey cloud, not orange)
  • Proxy mode breaks CNAME validation

HTTPS Certificate Issues

“Certificate not valid”

  • Certificate is auto-provisioned
  • Can take up to 1 hour after DNS verification
  • Try again later

Billing & Usage

Where to Check Usage

  1. Dashboard → Settings → Organization
  2. Shows current billing period and event count

Understanding Billing

Trial: 7 days from signup with 10,000 signal limit. No credit card required.

Core: $0.001/signal with $5 monthly minimum. 3 destinations, MCP 100/day limit.

Pro: $49/month includes 100K signals, then $0.001/signal. Volume discount: 50% off after 1M signals/month.

Max: $199/month includes 500K signals, then $0.0008/signal. High availability, dedicated support.

Usage Not Resetting

Trial: Automatically expires after 7 days. Core/Pro: Billing cycle based on Stripe subscription date.

If billing seems incorrect:

  1. Check subscription status in Settings → Organization
  2. Verify Stripe webhook is configured (for Pro)
  3. Contact support

Getting More Help

Before Contacting Support

  1. Check Live Logs — shows exact error messages
  2. Check Agent Access Logs — for AI gateway issues
  3. Note your gateway ID
  4. Note specific error messages

Contact Support

Email: support@anacoic.com

Include:

  • Gateway ID
  • Store/website URL
  • Screenshot of error
  • What you’ve tried

Community