Understanding Signals
Learn what signals are, how they're counted, and how to optimize your signal usage
Understanding Signals
Anacoic uses signals as our billing metric. Unlike traditional “events,” signals represent all data processing that happens on our edge infrastructure.
What is a Signal?
A signal is any data packet that our edge workers process. This includes:
1. Delivery Signals
Successful and attempted dispatches to ad platforms:
- Meta Conversions API
- TikTok Events API
- Google Ads Enhanced Conversions
- LinkedIn, Snapchat, Pinterest APIs
- Custom webhooks
2. Agent Signals (MCP)
AI Agent interactions via Model Context Protocol:
- Resource requests (pricing, docs)
- Tool invocations (book_demo, etc.)
- SSE connection maintenance
3. Security Signals
Traffic processed by our security layers:
- Domain lock validations
- Bot shield blocks
- Rate limit enforcement
- Unauthorized origin rejections
4. Retry Signals
Recovery and retry attempts:
- Failed delivery retries
- QStash queue processing
- Dead letter recovery
Why Signals Instead of Events?
Traditional analytics platforms only count “events”—user actions like page views or purchases. But Anacoic is infrastructure, not just analytics.
| Metric | What It Counts | Best For |
|---|---|---|
| Events | User actions only | Product analytics (Mixpanel, Amplitude) |
| Requests | HTTP requests | API gateways (Cloudflare, AWS) |
| Signals | All infrastructure processing | Edge data delivery (Anacoic) |
We chose signals because:
- Fair billing: You pay for the infrastructure you actually use
- Transparent: No hidden costs for retries, security, or AI features
- Accurate: Reflects the true cost of processing your data
Signal Types Breakdown
┌─────────────────────────────────────────────────────────┐
│ YOUR WEBSITE │
│ └─> Sends "Purchase" event │
│ ↓ │
│ ANACOIC EDGE WORKER │
│ ├─> Receive & validate (1 signal) │
│ ├─> Security check (1 signal) │
│ ├─> Dispatch to Meta (1 signal) │
│ ├─> Dispatch to TikTok (1 signal) │
│ └─> Dispatch to Google (1 signal) │
│ ↓ │
│ Total: 5 signals for 1 event to 3 destinations │
└─────────────────────────────────────────────────────────┘
How to Optimize Signal Usage
1. Use Client-Side Filtering
Don’t send unnecessary data:
// ❌ Sends test events
anacoic.track('Test Event');
// ✅ Only production events
if (!window.location.hostname.includes('localhost')) {
anacoic.track('Purchase', { value: 100 });
}
2. Batch High-Frequency Events
Instead of sending every scroll event:
// ❌ Too many signals
window.addEventListener('scroll', () => {
anacoic.track('Scroll');
});
// ✅ Batch engagement
let scrollDepth = 0;
window.addEventListener('scroll', () => {
const newDepth = Math.floor(window.scrollY / window.innerHeight);
if (newDepth > scrollDepth) {
scrollDepth = newDepth;
if (scrollDepth % 5 === 0) { // Every 5 viewports
anacoic.track('Scroll Depth', { depth: scrollDepth });
}
}
});
3. Use Destination Filtering
Only enable destinations you need:
// ❌ Dispatches to all configured destinations
anacoic.track('Internal Event');
// ✅ Only specific destinations
anacoic.track('Purchase', { value: 100 }, {
destinations: ['meta', 'google'] // Skip TikTok
});
4. Monitor Your Breakdown
Check your signal breakdown in the dashboard:
- Go to Dashboard → Usage
- View “Signal Types” breakdown
- Identify optimization opportunities
| Signal Type | Typical % | Optimization |
|---|---|---|
| Delivery | 70-80% | Essential |
| Security | 10-20% | Reduce bot traffic |
| Agent | 5-10% | Limit unnecessary MCP calls |
| Retry | 5-10% | Improve data quality |
Signal Counting Examples
Example 1: E-commerce Purchase
anacoic.track('Purchase', {
value: 150,
currency: 'USD'
});
Signal count: 4 signals
- 1 delivery to Meta
- 1 delivery to Google
- 1 delivery to TikTok
- 1 security validation
Example 2: AI Agent Query (MCP)
GET /v1/mcp/sse?gid=your-gateway
Signal count: 1 signal per request
- Resource read = 1 signal
- Tool invocation = 1 signal
Example 3: Blocked Bot Traffic
A bot hits your endpoint without proper authentication.
Signal count: 1 signal
- Security block = 1 signal
Signal Pricing by Tier
| Tier | Price | Included | Best For |
|---|---|---|---|
| Trial | Free | 10,000 signals | Testing |
| Core | $0.001/signal | Pay per use | Low volume |
| Pro | $49/month | 100,000 signals | Growing businesses |
| Max | $199/month | 500,000 signals | High volume |
Cost Examples
| Monthly Signals | Core Cost | Pro Cost | Max Cost |
|---|---|---|---|
| 5,000 | $5 (minimum) | $49 | $199 |
| 50,000 | $50 | $49 | $199 |
| 100,000 | $100 | $49 | $199 |
| 500,000 | $500 | $449 | $199 |
| 1,000,000 | $1,000 | $949 | $599 |
Frequently Asked Questions
Why am I being charged for blocked traffic?
Blocked traffic still requires our edge workers to:
- Receive the request
- Validate the origin
- Check domain locks
- Apply bot detection
This processing has real infrastructure costs.
Do retries count as extra signals?
Yes. Each retry attempt is a separate signal because it requires additional processing. To minimize retries:
- Ensure your pixel IDs and tokens are correct
- Send complete event data (improves match quality)
- Monitor destination health in your dashboard
How do I reduce my signal count?
- Filter test traffic: Don’t send events from localhost/staging
- Batch events: Group related actions instead of sending individually
- Optimize destinations: Only enable platforms you actively use
- Improve data quality: Better data = fewer retries
What’s the difference between a signal and an event?
| Aspect | Event | Signal |
|---|---|---|
| Definition | User action | Any processed data |
| Examples | Purchase, PageView | Delivery, Security, Agent |
| Counting | 1 per action | 1+ per infrastructure touch |
| Billing | Per event | Per signal |
Can I see my signal breakdown?
Yes! Navigate to Dashboard → Usage to see:
- Total signals by type
- Daily/weekly trends
- Cost breakdown
- Optimization recommendations
Need Help?
If you have questions about signal billing:
- Dashboard: Check your usage breakdown
- Docs: Read our optimization guides
- Support: Contact us at support@anacoic.com