CampaignMetricsDto

  • affiliateLinksClicks
    Type: number | null

    Total number of clicks on affiliate links associated with the content.

  • affiliateLinksCommissionEarned
    Type: number | null

    Total commission earned from affiliate link sales associated with the content.

  • affiliateLinksConversionRate
    Type: number | null

    Conversion rate of affiliate links, calculated as conversions divided by clicks. Formula: affiliateLinksConversions / affiliateLinksClicks, aggregated across the campaign.

  • affiliateLinksConversions
    Type: number | null

    Total number of conversions attributed to affiliate links associated with the content.

  • affiliateLinksRoi
    Type: number | null

    Return on investment from affiliate link activity, calculated as commission earned relative to content cost. Formula: affiliateLinksCommissionEarned / estimatedContentCost, aggregated across the campaign.

  • affiliateLinksSales
    Type: number | null

    Total sales revenue generated through affiliate links associated with the content.

  • clicks
    Type: number | null

    Total number of clicks on the content.

  • comments
    Type: number | null

    Total number of comments on the content. For Twitch streams, this represents chat messages.

  • cpe
    Type: number | null

    Cost per engagement, calculated as the ratio of cost to total engagements. Exists in organic, paid, and blended (total) variants. A lower CPE indicates more cost-efficient content. Organic formula: estimatedContentCost / engagements. Paid variant (paidCpe): paidAdSpend / paidEngagements. Blended: (estimatedContentCost + paidAdSpend) / totalEngagements.

  • cpm
    Type: number | null

    Cost per thousand impressions, calculated as (cost / impressions) × 1,000. Exists in organic, paid, and blended (total) variants. A lower CPM indicates more cost-efficient content in terms of reach/visibility. Organic formula: (estimatedContentCost / impressions) × 1,000. Paid variant (paidCpm): (paidAdSpend / paidImpressions) × 1,000. Blended: ((estimatedContentCost + paidAdSpend) / totalImpressions) × 1,000.

  • crosspostedFacebookOnlyViews
    Type: number | null

    Number of views from Facebook only for a crossposted Instagram Reel. Only populated for reels that have been crossposted to Facebook. Represents the Facebook-specific portion of total crossposted views.

  • crosspostedViews
    Type: number | null

    Number of views from both Instagram and Facebook when an Instagram Reel is crossposted to Facebook. Only populated for reels that have been crossposted to Facebook.

  • engagementRate
    Type: number | null

    Percentage of impressions that resulted in an engagement action. Calculated as (engagements / impressions) × 100. Exists in organic, paid, and blended (total) variants. Aggregated across all posts in the campaign. Formula: (totalEngagements / totalImpressions) × 100. Paid variant (paidEngagementRate): (paidEngagements / paidImpressions) × 100.

  • engagements
    Type: number | null

    Total number of engagement actions on the content. Calculated as the sum of likes, comments, shares, clicks, and saves (where applicable). The paid engagement formula differs slightly by content type (e.g., TikTok excludes saves from paid engagements).

  • estimatedContentCost
    Type: number | null

    Estimated cost of the content based on the creator's payment allocation. Calculated by distributing the total campaign cost across content pieces. Sum of allocated content costs across all posts in the campaign. Formula per post: totalCreatorPayout / numberOfActivations.

  • estimatedRoi
    Type: number | null

    Return on investment calculated as the ratio of earned media value to estimated content cost. A value greater than 1.0 indicates the content generated more value than it cost. Formula: totalEarnedMediaValue / totalEstimatedContentCost across the campaign. Also exposed as estimatedRoi in this endpoint.

  • estimatedValueGenerated
    Type: number | null

    Estimated monetary value of organic engagement, calculated using industry benchmark rates. Calculated as the sum of value of likes, value of comments, value of impressions, and value of shares, using platform-specific benchmark multipliers. Also referred to as "estimated value generated" in some API responses. Aggregated across all posts in the campaign. Formula: valueOfLikes + valueOfComments + valueOfImpressions + valueOfShares, using platform-specific benchmark multipliers per content type.

  • impressions
    Type: number | null

    Total number of times the content was displayed. The source of this metric varies by content type: for video content types like reels, it may represent video plays; for story and streaming content, it may represent views.

  • impressionsPerPost
    Type: number | null

    Average number of impressions per content piece. Calculated as total impressions divided by the number of posts. Formula: totalImpressions / postsCount across all posts in the campaign.

  • influencersCount
    Type: number | null

    Total number of unique influencers/creators in the reporting scope. Exists in organic and paid variants. Total number of unique creators who have posts in this campaign.

  • likes
    Type: number | null

    Total number of likes received on the content.

  • paidAdSpend
    Type: number | null

    Total amount spent on paid promotion of the content. Sourced from the advertising platform's reporting API.

  • paidClicks
    Type: number | null

    Paid variant. Total number of clicks on the content.

  • paidComments
    Type: number | null

    Paid variant. Total number of comments on the content. For Twitch streams, this represents chat messages.

  • paidCost
    Type: number | null

    Total incentive amount paid to the creator for the content. This represents creator compensation, not advertising spend. Total creator payout aggregated across the campaign.

  • paidCpe
    Type: number | null

    Paid variant. Cost per engagement, calculated as the ratio of cost to total engagements. Exists in organic, paid, and blended (total) variants. A lower CPE indicates more cost-efficient content. Organic formula: estimatedContentCost / engagements. Paid variant (paidCpe): paidAdSpend / paidEngagements. Blended: (estimatedContentCost + paidAdSpend) / totalEngagements.

  • paidCpm
    Type: number | null

    Paid variant. Cost per thousand impressions, calculated as (cost / impressions) × 1,000. Exists in organic, paid, and blended (total) variants. A lower CPM indicates more cost-efficient content in terms of reach/visibility. Organic formula: (estimatedContentCost / impressions) × 1,000. Paid variant (paidCpm): (paidAdSpend / paidImpressions) × 1,000. Blended: ((estimatedContentCost + paidAdSpend) / totalImpressions) × 1,000.

  • paidEngagementRate
    Type: number | null

    Paid variant. Percentage of impressions that resulted in an engagement action. Calculated as (engagements / impressions) × 100. Exists in organic, paid, and blended (total) variants. Aggregated across all posts in the campaign. Formula: (totalEngagements / totalImpressions) × 100. Paid variant (paidEngagementRate): (paidEngagements / paidImpressions) × 100.

  • paidEngagements
    Type: number | null

    Paid variant. Total number of engagement actions on the content. Calculated as the sum of likes, comments, shares, clicks, and saves (where applicable). The paid engagement formula differs slightly by content type (e.g., TikTok excludes saves from paid engagements).

  • paidImpressions
    Type: number | null

    Paid variant. Total number of times the content was displayed. The source of this metric varies by content type: for video content types like reels, it may represent video plays; for story and streaming content, it may represent views.

  • paidInfluencersCount
    Type: number | null

    Paid variant. Total number of unique influencers/creators in the reporting scope. Exists in organic and paid variants. Total number of unique creators who have posts in this campaign.

  • paidInitialPlays
    Type: number | null

    Number of initial video plays from paid promotion (auto-plays or first plays), as reported by Meta Ads.

  • paidLikes
    Type: number | null

    Paid variant. Total number of likes received on the content.

  • paidPostsCount
    Type: number | null

    Paid variant. Total number of content pieces (posts) in the reporting scope. Exists in organic and paid variants. Total number of posts published across the campaign.

  • paidReach
    Type: number | null

    Paid variant. Number of unique accounts that saw the content.

  • paidReturnOnAdSpend
    Type: number | null

    Return on ad spend (ROAS) for the paid campaign, as reported by the advertising platform. Represents the revenue generated per unit of advertising spend.

  • paidSaves
    Type: number | null

    Paid variant. Number of times the content was saved/bookmarked.

  • paidShares
    Type: number | null

    Paid variant. Total number of shares of the content. For Pinterest, this represents pin saves. For Twitter/X, this represents retweets.

  • paidViews
    Type: number | null

    Paid variant. Number of times the content was viewed. For Instagram content, this is the new "views" metric from the Instagram Graph API (replacing deprecated "impressions"). For TikTok, views represent organic video views.

  • postsCount
    Type: number | null

    Total number of content pieces (posts) in the reporting scope. Exists in organic and paid variants. Total number of posts published across the campaign.

  • potentialReach
    Type: number | null

    Potential reach of the content, representing the total audience that could have seen the content.

  • reach
    Type: number | null

    Number of unique accounts that saw the content.

  • replies
    Type: number | null

    Number of replies to the Instagram Story. This metric is specific to Instagram Stories and represents direct message replies to the story.

  • reposts
    Type: number | null

    Number of times the content was reposted by other users on Instagram. Note: availability may depend on the authentication method used for data collection.

  • saves
    Type: number | null

    Number of times the content was saved/bookmarked.

  • shares
    Type: number | null

    Total number of shares of the content. For Pinterest, this represents pin saves. For Twitter/X, this represents retweets.

  • totalInteractions
    Type: number | null

    Total number of interactions on the content as reported by Instagram. This is Instagram's own aggregate interaction count which may differ from our computed "engagements" metric.

  • trackingLinksClicks
    Type: number | null

    Total number of clicks on tracking links associated with the content.

  • trackingLinksConversions
    Type: number | null

    Total number of conversions attributed to tracking links associated with the content.

  • trackingLinksConversionValue
    Type: number | null

    Total monetary value of conversions attributed to tracking links associated with the content.

  • videoViewTotalTime
    Type: number | null

    Total cumulative watch time in milliseconds across all views of the video content. Useful for understanding audience retention and content engagement depth.

  • views
    Type: number | null

    Number of times the content was viewed. For Instagram content, this is the new "views" metric from the Instagram Graph API (replacing deprecated "impressions"). For TikTok, views represent organic video views.