Skip to main content

Conversions Endpoint

The Conversions endpoint provides detailed analytics about conversion events on your website. This endpoint allows you to track and analyze sales, sign-ups, or other conversion events across different marketing channels and campaigns.


Endpoint Details

  • URL: https://app.sealmetrics.com/api/report/conversions
  • 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
date_rangestringYesDate range (YYYYMMDD,YYYYMMDD or predefined values like this_month)
skipintegerNoRecords to skip (pagination), default: 0
limitintegerNoMax records to return (default: 100, max: 100)
countrystringNoISO country code (e.g., "es")
utm_mediumstringNoFilter by medium
utm_sourcestringNoFilter by source
utm_campaignstringNoFilter by campaign

Example Request

cURL

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

Python

import requests

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

querystring = {
"account_id": "000000000000000000001234",
"date_range": "this_month",
"skip": "0",
"limit": "100"
}

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

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)

JavaScript

var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer YOUR_TOKEN_HERE");
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/conversions?date_range=this_month&skip=0&limit=100&account_id=000000000000000000001234", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));

Response

Success Response (200 OK)

{
"status": "ok",
"data": [
{
"_id": "67eacf47086ba659fa2dd471",
"amount": 198.09,
"utm_medium": "email",
"utm_source": "newsletter",
"utm_campaign": "newsletter",
"utm_term": "http://www.rath.org/dolorem-dicta-provident-iusto-quis-ipsam",
"utm_matchtype": null,
"country": "es",
"country_name": "Spain",
"date": "2025-03-31",
"label": "sales"
}
]
}

Response Parameters

FieldTypeDescription
_idstringUnique identifier for the conversion
amountnumberMonetary value of the conversion
utm_mediumstringMedium that drove the conversion
utm_sourcestringSource that drove the conversion
utm_campaignstringCampaign name
utm_termstringTerm or URL associated
utm_matchtypestringSearch match type
countrystringISO country code
country_namestringFull country name
datestringDate (YYYY-MM-DD)
labelstringConversion label

Error Responses

401 Unauthorized

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

400 Bad Request

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

Notes

  • Use filtering parameters for campaign-level analysis.
  • amount helps calculate ROI and revenue attribution.
  • Pagination recommended for large datasets.