Setting Up Inbound Analytics Webhooks
Configure inbound webhooks so your publishing platforms automatically send performance analytics back to ACS for unified tracking.
Updated April 8, 2026
Inbound analytics webhooks allow your publishing platforms to push performance data directly to ACS. Instead of ACS polling for data, the platform notifies ACS whenever new analytics are available — reducing lag and supporting platforms that don't offer API-based analytics pulls.
How Inbound Webhooks Work
- ACS generates a unique inbound webhook URL for each of your analytics sources
- You configure that URL in your publishing platform's webhook or notification settings
- When the platform has new analytics data, it sends a POST request to your ACS webhook URL
- ACS receives and processes the data, updating your Analytics dashboard
Getting Your Inbound Webhook URL
Step 1: Open Integrations
Go to Settings → Integrations in ACS. Under the Analytics Sources section, find the platform you want to configure.
Step 2: View the Webhook URL
Click View Webhook or Set Up Analytics next to the platform. ACS will display your unique inbound webhook URL:
- With proxy (recommended):
https://your-proxy-url.com/in/{token} - Direct fallback:
https://your-supabase-url/functions/v1/receive-analytics-webhook?platform={platform}&user_id={id}
Copy this URL — you will paste it into your publishing platform.
Step 3: Note Your Verification Secret
ACS also displays an analytics webhook secret. If your platform supports HMAC signing for webhook payloads, enter this secret in your platform's webhook configuration to enable signature verification.
Configuring Your Platform to Send to ACS
Beehiiv:
- In Beehiiv, go to Settings → Integrations → Webhooks
- Add a new webhook endpoint with your ACS inbound URL
- Select the analytics events to forward (sends, opens, clicks)
Ghost:
- In Ghost Admin, go to Settings → Integrations → Add custom integration
- Under webhooks, add your ACS inbound URL for
post.publishedand relevant analytics events
Other platforms: Look for "Webhooks," "Integrations," or "Notifications" in your platform's settings. ACS accepts standard JSON POST requests to the inbound URL.
Supported Analytics Fields
ACS accepts the following fields in inbound webhook payloads. All fields are optional — ACS will process whatever is provided:
| Field | Description |
|---|---|
source |
Platform identifier (newsletter, blog, twitter, linkedin, etc.) |
content_title |
Title of the content piece |
content_url |
Published URL of the content |
week_of |
ISO date string for the reporting week |
impressions |
Total sends or page impressions |
opens |
Email opens |
clicks |
Link clicks |
open_rate |
Open rate as a decimal (e.g., 0.42 for 42%) |
click_rate |
Click-through rate as a decimal |
conversions |
Goal conversions (if tracked) |
Troubleshooting
Platform cannot reach the webhook URL Confirm your platform can make outbound HTTPS requests. If you are using the proxy URL, verify the proxy service is running.
Data not appearing in ACS
Ensure the content_title or content_url in the payload matches an existing content piece in your ACS library. Unmatched payloads are accepted but may not surface in dashboards.
Duplicate entries If your platform sends the same event multiple times, contact support — ACS deduplicates by upload ID but edge cases can occur depending on platform behavior.