Campaign performance metrics

Returns a paginated list of campaigns with their performance metrics.

What is included per campaign:

  • Campaign metadata (title, description, date range, platforms used)
  • Organic engagement and cost metrics
  • Paid media metrics and ad spend
  • Tracking link and affiliate link conversion data

Pagination

Results are paginated. Use pageSize (default: 50, max: 100) and pageNumber (1-indexed) to navigate pages. The response includes a pagination object with page, pageSize, totalPages, and totalItems.

Sorting

Use sortProperty to sort by one of the supported fields and sortDirection (ASC or DESC, default: DESC) to control the order.

Supported sortProperty values: impressions, engagements, reach, engagementRate, clicks, postsCount, influencersCount, impressionsPerPost, estimatedValueGenerated, estimatedContentCost, estimatedRoi, cpe, cpm, firstPostDate, lastPostDate, paidImpressions, paidEngagements, paidEngagementRate, paidClicks, paidPostsCount, paidInfluencersCount, paidCpe, paidCpm, paidAdSpend, paidReturnOnAdSpend, trackingLinksClicks, trackingLinksConversions, trackingLinksConversionValue, affiliateLinksClicks, affiliateLinksConversions, affiliateLinksConversionRate, affiliateLinksSales, affiliateLinksCommissionEarned, affiliateLinksRoi

Metric naming

  • Organic metrics use their plain name (e.g. engagements, impressions, cpm)
  • Paid metrics are prefixed with paid (e.g. paidEngagements, paidImpressions, paidCpm)
  • Tracking link metrics are prefixed with trackingLinks (e.g. trackingLinksClicks, trackingLinksConversions)
  • Affiliate link metrics are prefixed with affiliateLinks (e.g. affiliateLinksClicks, affiliateLinksSales, affiliateLinksRoi)
  • All metric fields are nullable — null indicates the metric is not available for the given data
Query Parameters
  • startDate
    Type: stringFormat: date-time
    required

    Start of the reporting period (inclusive). Format: YYYY-MM-DD.

  • endDate
    Type: stringFormat: date-time
    required

    End of the reporting period (inclusive). Format: YYYY-MM-DD.

  • instanceIds
    Type: array string[]

    One or more instance IDs to limit the query scope. If not provided, the query includes all instances accessible with the API credentials.

    Supported array formats: param=a,b,c (comma-separated), param=a&param=b (repeated key), or param[]=a&param[]=b (bracket syntax).

  • campaignIds
    Type: array number[] …50

    Filter results to specific campaigns. When omitted, all campaigns are included.

    Supported array formats: param=a,b,c (comma-separated), param=a&param=b (repeated key), or param[]=a&param[]=b (bracket syntax).

  • platform
    Type: array string[]enum

    Filter by top-level platform. Selecting a platform includes all its content types (e.g. instagram includes instagram_post, instagram_reel, instagram_story).

    Cannot be combined with contentType — provide only one of the two.

    When omitted (and contentType is also omitted), all platforms are included.

    Supported array formats: param=a,b,c (comma-separated), param=a&param=b (repeated key), or param[]=a&param[]=b (bracket syntax).

    values
    • instagram
    • tiktok
    • facebook
    • youtube
    • twitter
  • contentType
    Type: array string[]enum

    Filter by specific content type for granular filtering beyond top-level platforms.

    • instagram_post, instagram_reel, instagram_story — specific Instagram content formats
    • facebook_post, facebook_live, facebook_group, facebook_reel — specific Facebook content formats
    • tiktok, youtube_video, youtube_shorts — platform-specific types

    Cannot be combined with platform — provide only one of the two.

    When omitted (and platform is also omitted), all content types are included.

    Supported array formats: param=a,b,c (comma-separated), param=a&param=b (repeated key), or param[]=a&param[]=b (bracket syntax).

    values
    • instagram_post
    • instagram_reel
    • instagram_story
    • facebook_post
    • facebook_live
  • dateBasis
    Type: stringenum

    Controls which date dimension is used for filtering.

    • post_date (default): filters by the date the content was originally published. Best for analyzing content output and creator activity over time.
    • performance_date: returns metrics recorded within the requested date range, regardless of when the content was originally published. Best for understanding how campaigns performed during a specific reporting window.

    Example: a post published on Jan 5 that receives engagement on Feb 10 will appear in a Feb 1–28 query with performance_date, but in a Jan 1–31 query with post_date.

    values
    • post_date
    • performance_date
  • pageSize
    Type: number
    min:  
    1
    max:  
    100

    Number of items per page.

  • pageNumber
    Type: number
    min:  
    1
    max:  
    500

    Page number (1-indexed).

  • sortProperty
    Type: string

    Metric or field name to sort results by.

  • sortDirection
    Type: stringenum

    Sort direction.

    values
    • ASC
    • DESC
Responses
  • application/json
  • application/json
  • application/json
Request Example for get/v2/campaigns/performance
curl 'https://reporting.api.later.com/v2/campaigns/performance?startDate=2024-01-01&endDate=2024-12-31&instanceIds=instance_abc&instanceIds=instance_def&campaignIds=49761&campaignIds=49802&platform=instagram&platform=tiktok&contentType=instagram_reel&contentType=tiktok&dateBasis=post_date&pageSize=50&pageNumber=1&sortProperty=engagements&sortDirection=DESC' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "data": [
    {
      "affiliateLinksClicks": 1200,
      "affiliateLinksCommissionEarned": 540,
      "affiliateLinksConversionRate": 5.67,
      "affiliateLinksConversions": 68,
      "affiliateLinksRoi": 9,
      "affiliateLinksSales": 5400,
      "campaignId": 49761,
      "campaignName": "Summer Collection 2024",
      "clicks": 1500,
      "cpe": 1.56,
      "cpm": 110.62,
      "description": "Seasonal product launch",
      "engagementRate": 7.08,
      "engagements": 3200,
      "estimatedContentCost": 5000,
      "estimatedRoi": 5.6,
      "estimatedValueGenerated": 28000,
      "firstPostDate": "2024-06-01T00:00:00.000Z",
      "impressions": 45200,
      "impressionsPerPost": 1076.19,
      "influencersCount": 12,
      "instanceId": "instance_abc",
      "lastPostDate": "2024-08-15T00:00:00.000Z",
      "paidAdSpend": 3400,
      "paidClicks": 420,
      "paidCpe": 3.12,
      "paidCpm": 265.63,
      "paidEngagementRate": 8.59,
      "paidEngagements": 1100,
      "paidImpressions": 12800,
      "paidInfluencersCount": 4,
      "paidPostsCount": 8,
      "paidReturnOnAdSpend": 2.8,
      "postsCount": 42,
      "reach": 38000,
      "trackingLinksClicks": 850,
      "trackingLinksConversionValue": 12600,
      "trackingLinksConversions": 42,
      "uniqueContentTypes": "instagram_post, tiktok"
    }
  ],
  "pagination": {
    "page": 1,
    "pageSize": 50,
    "totalItems": 3,
    "totalPages": 1
  }
}