Attribution integrations
Custom webhook integration
Post JSON from your own backend, checkout or form handler to your project's webhook URL. Use AutoSEO's schema directly, or send any shape and map it once — later payloads are parsed automatically.
Overview
What you get with the custom webhook
- One HTTPS endpoint per project, with the token in the URL or a header
- JSON, form-encoded and multipart bodies up to 256 KB
- AutoSEO's schema for answers (channelId) and orders (transactionId and dealValue)
- Unknown shapes create a Field Mapping workflow on the first delivery
- Payloads waiting for a mapping kept encrypted for seven days and processed once mapped
- Up to 120 requests per minute per project, each listed under Webhook Logs
Use cases
What you can do with the custom webhook
Report from your own backend
Send the answer from your signup or checkout handler together with the order ID and value.
Accept any payload shape
Point an existing webhook from another tool at AutoSEO and map its fields once under Field Mapping.
Match without sharing emails
Hash emails yourself and send respondentEmailHash; AutoSEO matches on the hash and never sees the address.
Name the assistant
Send channelDetail such as chatgpt or perplexity, or free text — AutoSEO normalizes both to the right assistant.
Setup
Set up the webhook in four steps, in any language or tool.
- 1 Step 1
Generate your webhook URL
In your project, open Attribution → Integrations → Custom Webhook and click Connect. Copy the URL — it's shown only once.
- 2 Step 2
Choose how to send the token
Keep it in the URL, or send it as an X-Attribution-Token header or as Authorization: Bearer.
- 3 Step 3
POST your data
Send channelId for an answer, or transactionId with dealValue and dealCurrency for an order. Add respondentEmail or respondentEmailHash to link both.
- 4 Step 4
Map other shapes once
If your payload uses another structure, open the new workflow under Field Mapping, pick the answer, email, value and order fields and save. Waiting payloads are processed right away.
FAQ
Frequently asked questions
How do I send attribution data to AutoSEO from my own system?
POST JSON to your project's webhook URL with at least channelId, the answer to “How did you hear about us?”. AutoSEO normalizes the answer to a channel — AI search, search, social, ads, referral, content or other — and links it to orders by order ID or hashed email.
What does the JSON schema look like?
An answer needs channelId, for example ai_search or free text like “ChatGPT”. Optional fields are channelDetail, freetextResponse, respondentEmail or respondentEmailHash, respondentExternalId, respondentName, dealValue, dealCurrency, transactionId, formId, formName, pageUrl, occurredAt and up to 8 KB of metadata.
Can I send orders without an answer?
Yes. A payload with transactionId, or with dealValue and an email, is stored as a conversion. AutoSEO links it to the customer's answer by order ID or hashed email, looking back up to 90 days.
What if my payload has a different structure?
The first delivery creates a workflow under Field Mapping with suggested fields. Paths can reach into nested objects and arrays, for example answers[field.ref=hdyhau].choice.label, and once you save, future payloads of that shape are parsed automatically.
Should I use the webhook or the REST API?
Use the webhook for events from other systems; it only needs the URL token. The REST API needs an API key with the write scope and adds a bulk endpoint that records up to 1,000 answers per request.
How is the custom webhook secured?
The token is stored only as a hash and can be regenerated at any time. Requests without a valid token are rejected and rate-limited per IP, and emails are hashed on arrival.
Is the custom webhook included in the price?
Yes. Attribution and every integration are part of the open-source app: free when you self-host, or included in an AutoSEO Cloud workspace for $50 per month with $10 of AI and data usage.
Attribution integrations
More integrations in this category
- HubSpotSend contacts and deals from a HubSpot workflow, with deal value.
- SalesforceSend leads and opportunities from a Salesforce Flow.
- ShopifyA custom pixel attributes Shopify orders and revenue to AI search.
- StripeSigned webhooks turn checkouts and invoices into conversions.
- WooCommerceNative WooCommerce order webhooks, verified with a shared secret.
- ShopwareSend placed orders from the Shopware Flow Builder.
- TypeformTypeform webhooks; the “How did you hear about us?” answer is detected.
- TallyTally form webhooks with automatic option labels.
- JotformCapture Jotform submissions via webhook.
- Gravity FormsCapture WordPress form submissions via the Webhooks Add-On.
- FormstackCapture Formstack form submissions via webhook.
- SurveyMonkeyImport responses of a SurveyMonkey survey via its API.
- FairingImport post-purchase survey answers with order ID and total.
- KnoCommerceImport KnoCommerce post-purchase survey responses.
- ZigpollImport Zigpoll on-site and post-purchase poll answers.
- PipedrivePipedrive deal webhooks with value and currency.
- AttioSend records and deals from an Attio workflow.
- CloseClose webhooks for leads and opportunities.
- IntercomContact webhooks with the answer in a custom attribute.
- CalendlyBooking-question answers from Calendly invitee webhooks.
- Zapier / MakeSend answers from any app through Zapier or Make.
- n8nSend answers from any n8n workflow.
Attribute any system to AI search
Start with an AutoSEO Cloud workspace for $50/month, or self-host the open-source edition for free.