Campaign Report
Analyze campaign performance. Returns aggregated attribution data along with time series data for charting; the time series shape is controlled by the interval, breakdown, and metric query parameters. When comparison is enabled (isCompareEnabled=true with compareStartDate and compareEndDate), the response also includes a compareTimeSeries array containing the same time series shape for the comparison period so charts can plot both ranges together.
curl -X GET "https://api.nexus.usehardal.com/analytics/campaign/?timeframe=today&startDate=example_string&endDate=example_string&isHybrid=example_string&timezone=example_string&isCompareEnabled=false&compareStartDate=example_string&compareEndDate=example_string&targetSignalId=example_string&interval=hour&breakdown=source&metric=sessions" \
-H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY"
import requests
import json
url = "https://api.nexus.usehardal.com/analytics/campaign/?timeframe=today&startDate=example_string&endDate=example_string&isHybrid=example_string&timezone=example_string&isCompareEnabled=false&compareStartDate=example_string&compareEndDate=example_string&targetSignalId=example_string&interval=hour&breakdown=source&metric=sessions"
headers = {
"Content-Type": "application/json",
"Authorization": "YOUR_API_KEY"
}
response = requests.get(url, headers=headers)
print(response.json())
const response = await fetch("https://api.nexus.usehardal.com/analytics/campaign/?timeframe=today&startDate=example_string&endDate=example_string&isHybrid=example_string&timezone=example_string&isCompareEnabled=false&compareStartDate=example_string&compareEndDate=example_string&targetSignalId=example_string&interval=hour&breakdown=source&metric=sessions", {
method: "GET",
headers: {
"Content-Type": "application/json",
"Authorization": "YOUR_API_KEY"
}
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
)
func main() {
req, err := http.NewRequest("GET", "https://api.nexus.usehardal.com/analytics/campaign/?timeframe=today&startDate=example_string&endDate=example_string&isHybrid=example_string&timezone=example_string&isCompareEnabled=false&compareStartDate=example_string&compareEndDate=example_string&targetSignalId=example_string&interval=hour&breakdown=source&metric=sessions", nil)
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "YOUR_API_KEY")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://api.nexus.usehardal.com/analytics/campaign/?timeframe=today&startDate=example_string&endDate=example_string&isHybrid=example_string&timezone=example_string&isCompareEnabled=false&compareStartDate=example_string&compareEndDate=example_string&targetSignalId=example_string&interval=hour&breakdown=source&metric=sessions')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Content-Type'] = 'application/json'
request['Authorization'] = 'YOUR_API_KEY'
response = http.request(request)
puts response.body
{}
/analytics/campaign/
Target server for requests. Edit to use your own host.
API key (sent in header)
Preset timeframe. Use custom with startDate and endDate, or omit when startDate/endDate are provided.
Start date (YYYY-MM-DD)
End date (YYYY-MM-DD)
Use hybrid/self-hosted query endpoint (true/false)
Timezone for date filtering (default: Europe/Istanbul)
Enable comparison range calculations (default: false)
Comparison start date (YYYY-MM-DD)
Comparison end date (YYYY-MM-DD)
Target signal ID for an authorized mobile app or related signal in the same project
Interval for time series aggregation (minute, hour, day, week, month). Default: hour
Breakdown level for time series chart. Default: source
Metric to display on time series chart. Default: sessions
Request Preview
Response
Response will appear here after sending the request
Authentication
API Key for authentication. Provide your API key in the header.
Query Parameters
Preset timeframe. Use custom with startDate and endDate, or omit when startDate/endDate are provided.
todayyesterdaylast7dayslast30dayscustomStart date (YYYY-MM-DD)
End date (YYYY-MM-DD)
Use hybrid/self-hosted query endpoint (true/false)
Timezone for date filtering (default: Europe/Istanbul)
Enable comparison range calculations (default: false)
Comparison start date (YYYY-MM-DD)
Comparison end date (YYYY-MM-DD)
Target signal ID for an authorized mobile app or related signal in the same project
Interval for time series aggregation (minute, hour, day, week, month). Default: hour
minutehourdayweekmonthBreakdown level for time series chart. Default: source
sourcemediumcampaignMetric to display on time series chart. Default: sessions
sessionsconversionsResponses
200 response