Skip to main content

Bing Ads

This connector captures data from Bing Ads into Flow collections via the Bing Ads API.

It is available for use in the Flow web application. For local development or open-source workflows, ghcr.io/estuary/source-bing-ads:dev provides the latest version of the connector as a Docker image. You can also follow the link in your browser to see past image versions.

This connector is based on an open-source connector from a third party, with modifications for performance in the Flow system. You can find their documentation here, but keep in mind that the two versions may be significantly different.

Supported data resources

The following data resources are supported:

By default, each resource is mapped to a Flow collection through a separate binding.

Prerequisites

This connector uses OAuth2 to authenticate with Microsoft. You can do this in the Flow web app, or configure manually if you're using the flowctl CLI.

Using OAuth2 to authenticate with Microsoft in the Flow web app

You'll need:

Authenticating manually using the CLI

You'll need:

  • A registered Bing Ads application with the following credentials retrieved:

    • Client ID

    • Client Secret

    • Refresh Token

To set get these items, complete the following steps:

  1. Register your Bing Ads Application in the Azure Portal.

    1. During setup, note the client_id and client_secret.
  2. Get a user access token.

    1. Redeem the user authorization code for OAuth tokens, and note the refresh_token.

Configuration

You configure connectors either in the Flow web app, or by directly editing the catalog specification file. See connectors to learn more about using connectors. The values and specification sample below provide configuration details specific to the Bing Ads source connector.

Properties

Endpoint

The properties in the table below reflect the manual authentication method. If you're working in the Flow web app, you'll use OAuth2, so many of these properties aren't required.

PropertyTitleDescriptionTypeRequired/Default
/credentialsCredentialsobjectRequired
/credentials/auth_methodAuthentication methodSet to oauth2.0Stringoauth2.0
/credentials/client_idClient IDThe Client ID of your Microsoft Advertising developer application.StringRequired
/credentials/client_secretClient SecretThe Client Secret of your Microsoft Advertising developer application.StringRequired
/credentials/refresh_tokenRefresh TokenRefresh Token to renew the expired Access Token.StringRequired
/developer_tokenDeveloper TokenDeveloper token associated with user.StringRequired
/reports_start_dateCredentialsThe start date from which to begin replicating report data. Any data generated before this date will not be replicated in reports. This is a UTC date in YYYY-MM-DD format.StringRequired, 2020-01-01
/tenant_idCredentialsThe Tenant ID of your Microsoft Advertising developer application. Set this to common unless you know you need a different value.StringRequired

Bindings

PropertyTitleDescriptionTypeRequired/Default
/streamStreamBing Ads resource from which a collection is captured.stringRequired
/syncModeSync ModeConnection method.stringRequired

Sample

This sample specification reflects the manual authentication method.

captures:
${PREFIX}/${CAPTURE_NAME}:
endpoint:
connector:
image: ghcr.io/estuary/source-bing-ads:dev
config:
credentials:
auth_type: oauth2.0
client_id: 6731de76-14a6-49ae-97bc-6eba6914391e
client_secret: <secret>
refresh_token: <token>
developer_token: <token>
reports_start_date: 2020-01-01
tenant_id: common

bindings:
- resource:
stream: accounts
syncMode: full_refresh
target: ${PREFIX}/accounts
{}