Overview
ChatAside and ChatAds share infrastructure, but they are different products.- ChatAside uses
cwk_widget keys - ChatAside tracks usage in
widget_daily_usage - ChatAside has widget-tier limits
- ChatAds monetization still uses a
cak_key behind the scenes when monetization is enabled
Widget Rate Limits
ChatAside applies multiple limits at different layers.Team Daily Chat Limit
Each team has a daily widget chat cap enforced server-side.| Tier | Daily Team Chat Limit |
|---|---|
| Free | 100/day |
| Pro | 500/day |
| Business | 1500/day |
429 error.
Per-Visitor Daily Limit
You can also set a per-visitor daily message cap.- This is enforced by IP address
- It is separate from the team-level daily limit
- When enabled, requests over the limit return
WIDGET_LIMIT_EXCEEDED
Per-Minute Protection
ChatAside also uses a short-window rate limiter to protect the service from bursts and spam.- Team-level per-minute limit: 300 requests per minute
- Endpoint-specific IP rate limits are also applied to widget routes
429.
Page Context Limits
When page context is enabled, ChatAside includes content from the current page in the prompt. Page context is capped by widget tier:| Tier | Context Cap |
|---|---|
| Free | 6,000 characters |
| Pro | 15,000 characters |
| Business | 15,000 characters |
Daily Ad Cap
If monetization is enabled, you can also apply a daily ad cap. This limits how often monetized responses are shown in a day. The widget uses thehas_affiliate_links flag in chat responses to track when an answer included affiliate links.
Monetization Flow
When ChatAside monetization is on, the widget tries to add affiliate links without changing your embed snippet. The flow is:- Visitor sends a message through the widget using a
cwk_key - ChatAside generates an on-topic answer
- If monetization is enabled, ChatAside first checks whether the current page already contains relevant affiliate links
- If not, ChatAside makes an internal request to
/v1/chatads/messages - That internal call uses a team
cak_key for standard ChatAds monetization - The final response comes back to the widget with inline affiliate markdown already assembled
cwk_ vs cak_
These two key types have different jobs:
| Key Prefix | Purpose |
|---|---|
cwk_ | Public-facing widget authentication |
cak_ | Internal ChatAds monetization requests |
cwk_ key.
Affiliate Click and Usage Tracking
ChatAside tracks widget activity separately from ChatAds API usage. Daily widget tracking includes:- Message count
- Page load count
- Click count on affiliate links
Monetization Requirements
To monetize ChatAside responses, your team needs:- ChatAside enabled
- Widget monetization turned on
- A usable ChatAds API key (
cak_) available for internal monetization calls - Affiliate configuration such as an Amazon tag for supported flows
What Users See at the Limit
When limits are reached, the widget degrades in visible ways:- Team daily limit reached: chat requests are blocked for the day
- Per-visitor limit reached: that visitor can no longer keep chatting that day
- Some limit states hide or disable the widget input until the next reload or day boundary
Best Practices
Separate your key types
Keep
cwk_ keys in the embed snippet and reserve cak_ keys for ChatAds monetization only.Set a visitor cap
Use per-visitor daily limits to prevent a single user from exhausting team quota.
Monitor usage
Watch message count, page loads, and clicks in the ChatAside dashboard.
Enable monetization intentionally
Turn on monetization only when affiliate links fit your content and audience.