Get Started  /  Quickstart

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

1
Get your API key
API access is available on request while the program is in early access. Get in touch and we’ll issue you a key. Live keys start with sk_live_. Treat it like a password and only ever use it from your server.
2
Find your site

Everything hangs off a site. List the sites on your account and grab the one you want, its id looks like site_….

Terminal
curl https://app.converly.io/api/v1/sites \
  -H "Authorization: Bearer sk_live_…"
3
Connect a destination

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.

POST/v1/handoffs
curl https://app.converly.io/api/v1/handoffs \
  -H "Authorization: Bearer sk_live_…" \
  -d '{
    "purpose": "connect_destination",
    "destination_type": "google-ads"
  }'
201 Created
{
  "id": "hdf_7Yk2…",
  "url": "https://app.converly.io/handoff/hdf_7Yk2…",
  "status": "pending"
}
Meta and GA4 can skip the popup and connect by pasting a token with POST /v1/destinations instead.
4
Build a conversion flow

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.

POST/v1/flows
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" }
        } }
    ]
  }'
5
Publish the flow

Nothing delivers until you publish. Publishing validates the flow and pushes it live.

POST/v1/flows/{id}/publish
curl -X POST \
  https://app.converly.io/api/v1/flows/flow_0Dzj…/publish \
  -H "Authorization: Bearer sk_live_…"
Watch conversions land

Now when someone submits the form, Converly captures the conversion and delivers it to every destination on the flow. Read them back any time.

200 OK
{
  "data": [
    {
      "id": "evt_ab2c…",
      "flow_name": "Demo bookings",
      "status": "completed"
    }
  ],
  "has_more": false,
  "next_cursor": null
}