Quickstart
The Converly API lets you run conversion tracking from your own code. Create sites, connect ad platforms, build and publish conversion flows, and read every conversion Converly captures. This guide walks the whole path, from an API key to a published flow delivering conversions to your destinations.
What you can do
Build your first flow
Everything hangs off a site. List the sites on your account and grab the one you want, its id looks like site_….
curl https://app.converly.io/api/v1/sites \ -H "Authorization: Bearer sk_live_…"
Conversions fire to destinations like Google Ads. Open a connect popup with a handoff, send the user to the returned urlto authorize, then poll the handoff until it’s completed.
curl https://app.converly.io/api/v1/handoffs \
-H "Authorization: Bearer sk_live_…" \
-d '{
"purpose": "connect_destination",
"destination_type": "google-ads"
}'{
"id": "hdf_7Yk2…",
"url": "https://app.converly.io/handoff/hdf_7Yk2…",
"status": "pending"
}A flow ties a trigger (a form submission) to one or more actions (fire a conversion to a destination). Create one and it starts as a draft.
curl https://app.converly.io/api/v1/flows \
-H "Authorization: Bearer sk_live_…" \
-d '{
"site_id": "site_29Et…",
"name": "Demo bookings",
"trigger_config": {
"integrationId": "gravity-forms",
"pageFilter": "all"
},
"actions_config": [
{ "integrationId": "google-ads",
"config": {
"conversion": { "id": "demo_booked" }
} }
]
}'Nothing delivers until you publish. Publishing validates the flow and pushes it live.
curl -X POST \ https://app.converly.io/api/v1/flows/flow_0Dzj…/publish \ -H "Authorization: Bearer sk_live_…"
Now when someone submits the form, Converly captures the conversion and delivers it to every destination on the flow. Read them back any time.
{
"data": [
{
"id": "evt_ab2c…",
"flow_name": "Demo bookings",
"status": "completed"
}
],
"has_more": false,
"next_cursor": null
}