Skip to main content

Funnel Endpoint

The Funnel endpoint provides detailed analytics about your sales or conversion funnel, showing how users progress through different customer journey stages. This helps identify bottlenecks and optimize performance.


Endpoint Details

  • URL: https://app.sealmetrics.com/api/report/funnel
  • Method: GET
  • Authentication: Bearer Token required

Request Parameters

Headers

HeaderValueRequired
AuthorizationBearer your_access_tokenYes
Acceptapplication/jsonYes
Connectionkeep-aliveRecommended
Accept-Encodinggzip, deflate, brRecommended

Query Parameters

ParameterTypeRequiredDescription
account_idstringYesYour account identifier
report_typestringYesType of report to generate (usually "Source")
date_rangestringYesDate range (YYYYMMDD,YYYYMMDD or predefined values like this_month)
skipintegerNoRecords to skip; default: 0
limitintegerNoMax number of results; default: 100
countrystringNoISO 3166-1 alpha-2 code filter

Example Request

cURL

curl --location 'https://app.sealmetrics.com/api/report/funnel?account_id=000000000000000000001234&report_type=Source&date_range=20230601,20230630&skip=0&limit=100' --header 'Authorization: Bearer YOUR_TOKEN' --header 'Accept: application/json' --header 'Connection: keep-alive' --header 'Accept-Encoding: gzip, deflate, br'

Python

import requests

url = "https://app.sealmetrics.com/api/report/funnel"

querystring = {
"account_id": "000000000000000000001234",
"report_type": "Source",
"date_range": "20230601,20230630",
"skip": "0",
"limit": "100"
}

headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Accept": "application/json",
"Connection": "keep-alive",
"Accept-Encoding": "gzip, deflate, br"
}

response = requests.get(url, headers=headers, params=querystring)

print(response.text)

JavaScript

var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer YOUR_TOKEN");
myHeaders.append("Accept", "application/json");
myHeaders.append("Connection", "keep-alive");
myHeaders.append("Accept-Encoding", "gzip, deflate, br");

var requestOptions = {
method: 'GET',
headers: myHeaders,
redirect: 'follow'
};

fetch("https://app.sealmetrics.com/api/report/funnel?account_id=000000000000000000001234&report_type=Source&date_range=20230601,20230630&skip=0&limit=100", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));

Success Response (200 OK)

{
"status": "ok",
"data": [
{
"Source": "Referrer",
"clicks": 9380,
"conversions": 675,
"microconversions": 2843,
"add-to-cart": 571,
"checkout": 587
},
{
"Source": "Google",
"clicks": 12450,
"conversions": 892,
"microconversions": 3256,
"add-to-cart": 743,
"checkout": 812
}
]
}

Response Parameters

FieldTypeDescription
SourcestringGroup name based on report_type
clicksnumberNumber of clicks
conversionsnumberNumber of final conversions
microconversionsnumberCount of microconversions
add-to-cartnumberAdd-to-cart events
checkoutnumberCheckout initiations
(other stages)numberAdditional funnel steps depending on configuration

Error Responses

401 Unauthorized

{
"status": "error",
"message": "Unauthenticated"
}

400 Bad Request

{
"status": "error",
"message": "Missing required parameter: account_id"
}

Notes

  • Funnel stages vary depending on your configuration.
  • Use the report_type parameter to group funnels by Source, Medium, or Campaign.
  • This endpoint helps identify drop-offs and optimize conversion paths.