Release Status Released Supported By Singer community
Availability Free Status Page Outbrain Status Page
Default Historical Sync 1 year Default Replication Frequency 30 minutes
Whitelisting Unsupported Destination Incompatibilities None

Connecting Outbrain

Step 1: Add Outbrain as a Stitch data source

  1. Sign into your Stitch account.
  2. On the Stitch Dashboard page, click the Add Integration button.

  3. Click the Outbrain icon.

  4. Enter a name for the integration. This is the name that will display on the Stitch Dashboard for the integration; it’ll also be used to create the schema in your destination.

    For example, the name “Stitch Outbrain” would create a schema called stitch_outbrain in the destination. Note: Schema names cannot be changed after you save the integration.

  5. In the Account ID field, enter your Outbrain Account (or Marketer) ID.

    You can find this by looking at the URL when you’re logged into your Outbrain account. The Account ID looks something like this: 0f4b02153ee75f3c9dc4fc128ab041962 and is located between marketers and campaigns, if you’re looking at the Overview dashboard:

    https://my.outbrain.com/amplify/site/marketers/[account-id-will-be-here]/campaigns/overview

  6. In the Username field, enter your Outbrain username.
  7. In the Password field, enter your Outbrain password.

Step 2: Define the Historical Sync

The Sync Historical Data setting will define the starting date for your Outbrain integration. This means that:

  • For tables using Incremental Replication, data equal to or newer than this date will be replicated to your data warehouse.
  • For tables using Full Table Replication, all data - including records that are older, equal to, or newer than this date - will be replicated to your data warehouse.

Change this setting if you want to replicate data beyond Outbrain’s default setting of 1 year. For a detailed look at historical replication jobs, check out the Syncing Historical SaaS Data guide.

Step 3: Create a replication schedule

In the Replication Frequency section, you’ll create the integration’s replication schedule. An integration’s replication schedule determines how often Stitch runs a replication job, and the time that job begins.

Stitch offers two methods of creating a replication schedule:

  • Replication Frequency: This method requires selecting the interval you want replication to run for the integration. Start times of replication jobs are based on the start time and duration of the previous job. Refer to the Replication Frequency documentation for more information and examples.
  • Anchor scheduling: Based on the Replication Frequency, or interval, you select, this method “anchors” the start times of this integration’s replication jobs to a time you select to create a predictable schedule. Anchor scheduling is a combination of the Anchor Time and Replication Frequency settings, which must both be defined to use this method. Additionally, note that:

    • A Replication Frequency of at least one hour is required to use anchor scheduling.
    • An initial replication job may not begin immediately after saving the integration, depending on the selected Replication Frequency and Anchor Time. Refer to the Anchor Scheduling documentation for more information.

To help prevent overages, consider setting the integration to replicate less frequently. See the Understanding and Reducing Your Row Usage guide for tips on reducing your usage.

Initial and historical replication jobs

After you finish setting up Outbrain, its Sync Status may show as Pending on either the Stitch Dashboard or in the Integration Details page.

For a new integration, a Pending status indicates that Stitch is in the process of scheduling the initial replication job for the integration. This may take some time to complete.

Free historical data loads

The first seven days of replication, beginning when data is first replicated, are free. Rows replicated from the new integration during this time won’t count towards your quota. Stitch offers this as a way of testing new integrations, measuring usage, and ensuring historical data volumes don’t quickly consume your quota.


Outbrain table schemas

campaign_performance

Replication Method: Key-based Incremental Replication Key : fromDate
Primary Key : campaignId : fromDate API Endpoint: retrieveCampaignsWithPerformanceStatisticsForAMarketer

The campaign_performance table contains performance metrics for your Outbrain campaigns.

campaignId
STRING

The campaign ID plus the start date (day).

fromDate
DATE

The start date.

impressions
NUMBER

The total number of PromotedLinks impressions for the campaign.

clicks
NUMBER

The total number of PromotedLinks clicks for the campaign.

ctr
NUMBER

The average click through rate percentage for the campaign. Calculated as (clicks / impressions)/100

spend
NUMBER

The total amount of money spent for the campaign.

ecpc
NUMBER

The effective (calculated) average CPC (Cost Per Click) for the campaign. Calculated as (spend / clicks)

conversions
NUMBER

The total number of conversions for the campaign.

conversionRate
NUMBER

The average rate of conversions per click percentage for the campaign. Calculated as (conversions / clicks)/100

cpa
NUMBER

The average CPA (Cost Per Acquisition) for the campaign. Calculated as (spend / conversions)


Replication Method: Full Table API Endpoint: listAllCampaignsAssociatedWithAMarketer
Primary Key : id

The campaigns table contains info about your Outbrain campaigns.

id
STRING

The campaign ID.

name
STRING

The name of the campaign.

campaignOnAir
BOOLEAN

Indicates if the campaign is on air.

onAirReason
STRING

The reason for the campaign’s on air status.

enabled
BOOLEAN

Indicates if the campaign is enabled.

budget__id
STRING

The budget ID.

budget__name
STRING

The name of the budget.

budget__shared
BOOLEAN

Indicates if the budget is shared between campaigns.

budget__amount
NUMBER

The monetary amount of the budget.

budget__currency
STRING

The currency denomination applied to the budget.

budget__amountRemaining
NUMBER

The unspent monetary amount remaining on the budget.

budget__amountSpent
NUMBER

The spent monetary amount of the budget.

budget__creationTime
DATE-TIME

The time when the budget was created.

budget__lastModified
DATE-TIME

The time the budget was last updated.

budget__startDate
DATE

The date the budget is scheduled to begin spending.

budget__endDate
DATE

The date the budget is scheduled to stop spending. If the runForever attribute is true, this attribute will not be present for the budget.

budget__runForever
BOOLEAN

Indicates if the budget has an end date. If true, the endDate attribute will not be present for the budget.

budget__type
STRING

Indicates the period on which the budget refreshes. Ex: monthly

budget__pacing
STRING

Indicates how fast the budget will be spent. Ex: automatic

budget__dailyTarget
NUMBER

The maximum amount of spend that is allowed per day.

budget__maximumAmount
NUMBER

The maximum amount allowed, if defined.

cpc
NUMBER

The cost per monetized user action. For example: cost per click.



Questions? Feedback?

Did this article help? If you have questions or feedback, feel free to submit a pull request with your suggestions, open an issue on GitHub, or reach out to us.