Skip to main content

Documentation Index

Fetch the complete documentation index at: https://developer.dashsocial.com/llms.txt

Use this file to discover all available pages before exploring further.

Pull time-series ad campaign data to track performance trends over time. Use the data to visualize day-by-day metrics and identify patterns in ad campaign activity.

Use cases

Tracking ad campaign trends manually across weeks or months wastes hours. Graph reports give you time-series data ready to visualize instantly.

Track campaign momentum

Visualize daily campaign performance to spot trends and optimize in real-time

Identify peak performance

Compare ad performance across date ranges to understand when campaigns perform best

Monitor spend efficiency

Track cost-per-click and conversion trends over time to optimize budget allocation

Before you start

Prerequisites:
  • API Key - Your authentication token - Get your API key from the API Quickstart.
  • Brand ID - Your brand’s unique ID
  • Connected Ad Accounts - Meta Ads and/or TikTok Ads accounts connected in Dash Social
Supported platforms:
  • Meta Ads
  • TikTok Ads
Connect ad accounts first: Report on ad accounts connected in Dash Social only. Connect your ad accounts in Dash Social → Settings → Ad Account Management before using this API.

Test in the dashboard first

Preview ad campaign graph reports in the Dash Social Dashboard to understand the data structure before pulling via API.

Implementation

Step 1: Get ad account IDs

Get the ad account IDs for your connected advertising accounts. Each platform has a different endpoint.

For Meta Ads

Send a GET request:
GET https://facebook.dashsocial.com/brands/{brand_id}/ad_accounts
Replace {brand_id} with your brand ID (e.g., 144).

For TikTok Ads

Send a GET request:
GET https://tiktok.dashsocial.com/marketing/brands/{brand_id}/ad_accounts
Replace {brand_id} with your brand ID (e.g., 144). Sample response (both platforms):
[
    {
        "id": "1368643043296927",
        "name": "Demo Ad Account",
        "status": "ACTIVE"
    }
]
Collect each ad account id value. You’ll use these in Step 2.

Compare across platforms

To compare multiple platforms, call both endpoints separately to get ad account IDs for Meta and TikTok.

Step 2: Get ad campaigns

Retrieve the ad campaigns under each ad account. Each platform has a different endpoint.

For Meta Ads

Send a PUT request:
PUT https://facebook.dashsocial.com/brands/marketing_v2/campaigns
body = {
  "ad_account_ids": ["1368643043296927"],
  "brand_ids": [144]
}

For TikTok Ads

Send a PUT request:
PUT https://tiktok.dashsocial.com/marketing/ad_campaigns
body = {
  "brand_ids": [144],
  "source_ad_account_ids": ["7113956961980284930"]
}
Sample response (both platforms):
[
    {
        "brand_ids": [2000],
        "id": 9226231,
        "name": "Ad Campaign 1 GBP",
        "source_ad_account_id": "demo_ag10808192",
        "source_campaign_id": "demo1_3112",
        "source_created_time": "2024-01-09T10:00:00+00:00",
        "source_updated_time": null,
        "status": "PAUSED"
    }
]
Collect each source_ad_account_id and source_campaign_id value. Format as comma-separated values for the report API:
  • Ad account IDs: 1368643043296927,7113956961980284930
  • Campaign IDs: 120236587787680490,120236587787680491

Step 3: Map your report parameters

Map the available parameters before making the API call:

Step 4: Request the graph report

Send a GET request using the parameters from Step 3. This example gets daily link clicks for Meta Ads campaigns during August 2025:
GET https://dashboard.dashsocial.com/reports/data?channels=META_ADS&
		start_date=2025-08-10&
		end_date=2025-08-20&
		metrics=LINK_CLICKS&
		brand_ids=144&
		report_type=ADS_GRAPH&
		context_start_date=2024-07-01&
		context_end_date=2024-07-31&
		source_ad_account_ids=1368643043296927&
		source_campaign_ids=120236587787680490

Compare multiple platforms

Make separate requests for each channel: META_ADS, TIKTOK_ADS. Combine results in your dashboard or analytics tool.
Sample response:
{
    "data": {
        "120236587787680490": {
            "META_ADS": {
                "LINK_CLICKS": {
                    "2025-08-10": 120.0,
                    "2025-08-11": 145.0,
                    "2025-08-12": 132.0,
                    "2025-08-13": 158.0,
                    "2025-08-14": 167.0,
                    "2025-08-15": 189.0,
                    "2025-08-16": 201.0,
                    "2025-08-17": 178.0,
                    "2025-08-18": 194.0,
                    "2025-08-19": 156.0,
                    "2025-08-20": 143.0
                }
            },
            "campaign_name": "Summer Sale Campaign",
            "data_type": "CAMPAIGN",
            "metrics": {
                "LINK_CLICKS": {
                    "META_ADS": {
                        "2025-08-10": 120.0,
                        "2025-08-11": 145.0,
                        "2025-08-12": 132.0,
                        "2025-08-13": 158.0,
                        "2025-08-14": 167.0,
                        "2025-08-15": 189.0,
                        "2025-08-16": 201.0,
                        "2025-08-17": 178.0,
                        "2025-08-18": 194.0,
                        "2025-08-19": 156.0,
                        "2025-08-20": 143.0
                    }
                }
            },
            "source_ad_account_id": "1368643043296927",
            "source_campaign_id": "120236587787680490",
            "user_has_access": true
        }
    },
    "product_category": "ADS"
}

Step 5: Interpret the response

The response includes time-series data for each ad campaign.

Response structure

Each campaign includes:
  • data_type: CAMPAIGN
  • campaign_name: Name of the ad campaign
  • source_ad_account_id: Ad account ID
  • source_campaign_id: Campaign ID
  • Date-keyed metrics: Each metric is organized by date (e.g., "2025-08-10": 120.0). This makes it easy to plot on line charts or trend graphs.

Example insights

From the sample response:
  • Summer Sale Campaign had peak performance on August 16 with 201 link clicks
  • Performance showed an upward trend from August 10-16
  • Click volume decreased in the final days of the period (August 17-20)
Common errors:
  • Invalid channel name - Use META_ADS or TIKTOK_ADS. Only one channel per request.
  • Invalid ad account or campaign ID - Verify IDs match the responses from Steps 1-2.
  • Missing context dates - Include context_start_date and context_end_date for trend analysis.
  • Sparse data - Some dates may have null values if the campaign was paused or had no activity.

Metrics

Metric NameDescriptionMetric API Name
Clicks (All) - AdsThe total number of times the ads in your selected campaign were clicked during the Reporting PeriodCLICKS
CTR - AdsThe percentage of times people clicked your ads after seeing them during the Reporting Period. CTR = Total Clicks / ImpressionsCLICK_THROUGH_RATE
Conversion Rate - AdsThe percentage of people who saw the ad and performed the desired actionCONVERSION_RATE
CPC - AdsThe average cost per click on your social ads during the Reporting Period.CPC = Spend / Total ClicksCOST_PER_CLICK
CPM - AdsThe average cost per 1,000 impressions on your selected ad campaign during the Reporting Period. CPM = Total Spend / ImpressionsCOST_PER_MILE
Engagements - AdsThe total number of engagements on all ads within your selected campaign during the Reporting PeriodENGAGEMENTS
Engagement Rate - AdsThe total percentage of users who engaged with your selected campaign after seeing an ad during the Reporting Period. Engagement Rate = Total Engagements / ImpressionsENGAGEMENT_RATE
Frequency - AdsThe average number of times users saw ads in your campaign during the Reporting PeriodFREQUENCY
Impressions - AdsThe total number of impressions the ads in your selected campaign received during the Reporting PeriodIMPRESSIONS
Link Clicks - AdsThe total number of times links on the ads in your selected campaign were clicked during the Reporting PeriodLINK_CLICKS
Page Engagements - AdsThe total number of engagements your page and its posts received from your ads during the Reporting PeriodPAGE_ENGAGEMENTS
Reach - AdsThe total number of unique accounts that saw ads within your selected campaign during the Reporting Period.REACH
ROAS - AdsThe total return on ad spend for your selected campaign, as provided by Meta.ROAS = Calculated Purchase Conversion Value / Amount SpentRETURN_ON_AD_SPEND
Amount Spent - AdsThe average cost per click on your social ads during the Reporting Period.CPC = Spend / Total ClicksTOTAL_SPENT
Video Views - AdsThe total number of times videos in your selected ad campaign were viewed for over 3 seconds during the Reporting PeriodVIDEO_VIEWS
Web Conversions - AdsThe estimated number of conversions your selected ad campaign received during the Reporting Period, as measured by the Meta Pixel installed on your websiteWEB_CONVERSIONS

Next steps

With your ad campaign graph data, you can:
  • Build trend visualizations - Plot each campaign as a separate line on a chart
  • Identify performance patterns - Spot weekly patterns or optimal days for ad delivery
  • Track campaign lifecycles - Visualize performance from launch through optimization
  • Compare campaign effectiveness - Benchmark multiple campaigns against each other
Related guides: