Ellipse Gradient for Header

Amazon Ads Integration Guide

Integrate Amazon Ads with enterprise systems through REST APIs, asynchronous reports, bulk operations, and selected Amazon Marketing Stream signals.

Amazon Ads integration options at a glance

Amazon Ads provides versioned REST APIs for profiles, campaigns, ad groups, ads, keywords, targets, portfolios, budgets, and reporting. It also supports bulk campaign-management operations and asynchronous report generation, where an integration submits a request, polls its status, and retrieves the completed result. Selected near-real-time signals are available through Amazon Marketing Stream over AWS infrastructure, but this is not a general-purpose webhook service. OAuth 2.0 with Login with Amazon, bearer tokens, client IDs, refresh tokens, and profile-scoped requests secure access. Martini can orchestrate these calls, transform JSON or downloaded report data, apply validation and business rules, and load results into downstream systems.

Integration pointSupported by Amazon Ads?Common use casesHow Martini supports it
REST APIsYesManage and retrieve Profiles, Campaigns, Ad groups, Ads, Keywords, Targets, Portfolios, budgets, and supported reporting resources. REST is the primary Amazon Ads integration interface.Martini can consume the versioned REST APIs in workflows, manage request headers and authentication configuration, map JSON responses, and expose normalized APIs for downstream systems.
Bulk / async / batch APIsYesBulk operations can reduce individual API calls for supported campaign-management resources. Report generation is asynchronous and requires submission, polling, and retrieval.Martini can orchestrate bulk requests and long-running report workflows, persist request identifiers, poll with bounded intervals, and handle partial or failed results.
File / report downloadsLimitedReports and bulk-operation data may be returned as downloadable files or structured responses, depending on the API resource and version.Martini can process JSON, CSV, and other supported response formats, transform them into canonical models, and load them into databases or analytics platforms.
Amazon Marketing StreamLimitedSelected near-real-time advertising signals can be delivered through AWS infrastructure, including Amazon Kinesis Data Streams. Coverage is not equivalent to general campaign webhooks.Martini can normalize and route stream data when an appropriate AWS delivery architecture makes the data available to the integration, while REST remains the control and reporting interface.
Webhooks / outbound callbacksLimitedAmazon Ads does not document a general-purpose webhook mechanism for all campaign, ad, keyword, target, or reporting changes. Selected stream signals are available through Amazon Marketing Stream.Martini can receive webhook-style inputs where an intermediary exposes them, but Amazon Marketing Stream and scheduled polling must not be treated as universal Amazon Ads webhooks.
AuthenticationYesOAuth 2.0 with Login with Amazon uses advertiser authorization, client ID, refresh token, bearer access token, and Amazon Ads profile scope.Martini can store client credentials and refresh tokens as environment secrets, renew short-lived access tokens, and include the required authorization and profile headers in API calls.
GraphQL APIsNot confirmedNo official Amazon Ads GraphQL API was identified in the supplied documentation. The documented approach is REST-based.Martini can consume GraphQL generally, but an Amazon Ads integration should use the confirmed REST APIs unless Amazon provides a supported GraphQL endpoint for the required resource.
SOAP APIsNoAmazon Ads documentation describes REST-based APIs rather than SOAP services.Martini can consume SOAP services from other systems in a broader workflow, but SOAP is not an Amazon Ads integration method supported by the supplied research.

How Amazon Ads exposes data and business events

Amazon Ads REST APIs

Amazon Ads exposes versioned REST APIs for profile-scoped campaign management, advertising resources, targeting, budgets, and reporting. Responses are generally JSON and requests use HTTP methods such as GET, POST, PUT, and DELETE. The available objects and fields depend on the advertising product and API version.

Martini implementation pattern

Martini implementation pattern: a workflow retrieves the configured profile context, obtains or refreshes an OAuth access token, calls the relevant Amazon Ads endpoint, handles pagination and throttling, maps the response into a canonical model, and routes the result to a database, application, or normalized Martini API.

Implementation sequence

Load the advertiser profile and marketplace configuration
Refresh the OAuth access token when required
Call the versioned Amazon Ads REST endpoint
Follow pagination and handle throttling responses
Map the response into the target data model
Apply validation and business rules before delivery

Asynchronous reports and bulk operations

Amazon Ads supports bulk campaign-management operations for supported products and asynchronous reporting. A report is submitted first, then its status is polled before the completed report is retrieved. Bulk data and reports may use downloadable files or structured responses depending on the resource and version.

Martini implementation pattern

Martini implementation pattern: a scheduled workflow creates a report or bulk request, persists its request identifier and reporting window, polls at a controlled interval, retrieves the completed result, transforms the data, and writes it to a warehouse or business system. The workflow handles timeouts, expired requests, partial failures, and overlap-window deduplication.

Implementation sequence

Select profiles, products, date ranges, and report dimensions
Submit the report or bulk operation request
Persist the request identifier and source configuration
Poll status with a bounded interval and maximum wait time
Retrieve the completed result or downloadable file
Transform and validate the returned data setruction before loading it

Amazon Marketing Stream signals

Amazon Marketing Stream provides selected near-real-time advertising signals through AWS infrastructure, including Amazon Kinesis Data Streams. It is a separate mechanism from ordinary Amazon Ads REST API webhooks and does not provide arbitrary event coverage for every campaign or reporting change.

Martini implementation pattern

Martini implementation pattern: an AWS-based delivery architecture makes supported stream data available, after which Martini normalizes, enriches, validates, and routes selected signals to operational applications, alerts, or analytics stores. REST APIs remain appropriate for campaign management and reporting not covered by the stream.

Implementation sequence

Confirm that the required advertising signal is available
Configure the AWS stream delivery architecture outside the REST workflow
Receive or retrieve the available stream data
Normalize signal fields and retain profile context
Apply routing, validation, and enrichment rules
Write the result to an operational or analytical target

Common Amazon Ads integration patterns

Pattern 1: Load Amazon Ads reports into a data warehouse

When to use this pattern

Use this pattern for centralized performance reporting across profiles, marketplaces, advertising products, campaigns, ad groups, keywords, targets, and reporting periods. It is appropriate when metrics need historical retention and repeatable incremental processing.

Integration direction
Amazon Ads
Martini
Snowflake or Google BigQuery
Example Mapping
Amazon Ads FieldCanonical FieldTarget Field
profileIdadvertisingProfileIdadvertising_profile_id
campaignIdcampaignIdcampaign_id
impressionsimpressionCountimpressions
costadvertisingSpendspend
Martini implementation pattern

A scheduled Martini workflow iterates through configured profiles, submits a report, persists the request ID, polls until completion, retrieves the result, and maps campaign and performance dimensions into warehouse tables. It reprocesses a short overlap window for late attribution, deduplicates by profile, report type, date, object ID, and metric dimensions, and records failed reports for retry.

Martini capabilities used
  • workflows
  • scheduled execution
  • API consumption
  • data mapping
  • business rules
  • error handling
  • database or warehouse delivery

Pattern 2: Govern campaign budgets and status

When to use this pattern

Use this pattern when internal policy must identify campaigns that exceed spend thresholds, lack required metadata, or have an invalid status before approved changes are sent to Amazon Ads.

Integration direction
Amazon Ads
Martini
Amazon Ads
Example Mapping
Amazon Ads FieldCanonical FieldTarget Field
campaign.statuscampaignStatuscampaign.status
campaign.budgetdailyBudgetcampaign.budget
campaign.namecampaignNamecampaign.name
profileIdadvertisingProfileIdrequest.profileScope
Martini implementation pattern

Martini retrieves campaigns and related budget information, evaluates governance rules, and compares desired state with current state before issuing supported updates. Approval controls, idempotency keys or state comparisons, audit records, bounded retries, and per-item error capture reduce the risk of unintended spend changes.

Martini capabilities used
  • workflows
  • REST API consumption
  • validation
  • business rules
  • data mapping
  • audit logging
  • retry handling

Pattern 3: Synchronize commerce products into campaigns

When to use this pattern

Use this pattern when product, price, availability, category, or promotional attributes from a commerce platform must inform Amazon Ads campaign-management requests for supported advertising products.

Integration direction
Shopify
Martini
Amazon Ads
Example Mapping
Amazon Ads FieldCanonical FieldTarget Field
product.idproductIdentifierAmazon Ads product or target identifier
product.categoryproductCategorytargeting category
inventory.availableavailabilityStatuscampaign eligibility rule
product.pricecurrentPricepromotion or governance input
Martini implementation pattern

Martini retrieves commerce data, normalizes marketplace and product attributes, checks eligibility and campaign dependencies, and constructs only the Amazon Ads requests supported by the selected product and API version. The workflow sequences parent and child resources, rejects invalid products, and records per-item outcomes for replay.

Martini capabilities used
  • workflows
  • API consumption
  • mapping and transformation
  • validation
  • conditional routing
  • dependency handling
  • error handling

Pattern 4: Route selected Amazon Marketing Stream signals

When to use this pattern

Use this pattern when the required near-real-time advertising signals are available through Amazon Marketing Stream and need to reach operational analytics, alerting, or downstream applications.

Integration direction
Amazon Marketing Stream
Martini
Operational analytics or database
Example Mapping
Amazon Ads FieldCanonical FieldTarget Field
stream profile identifieradvertisingProfileIdprofile_id
stream event timestampeventTimestampevent_timestamp
stream advertising signalsignalTypesignal_type
stream object identifieradvertisingObjectIdobject_id
Martini implementation pattern

After AWS delivers supported stream data, Martini validates the message, preserves profile and signal context, enriches it with internal reference data, and routes it to the appropriate operational or analytical destination. The workflow handles duplicate messages and malformed payloads without treating the stream as a substitute for REST campaign management.

Martini capabilities used
  • event-driven workflows
  • data mapping
  • validation
  • conditional routing
  • deduplication
  • error handling

Applications commonly integrated with Amazon Ads

Amazon Ads data is commonly combined with commerce, finance, customer, and analytics platforms. These integrations typically use Amazon Ads REST APIs or reports as the source, while Martini manages authentication, profile-specific processing, transformation, validation, and delivery to the target application.

Application Scenario Direction Martini Pattern
Amazon Seller Central Align marketplace product, sales, catalog, and advertising performance data while keeping advertising operations scoped to the relevant marketplace context. Amazon Seller Central → Martini → Amazon Ads Retrieve or receive approved catalog and marketplace data, map product and marketplace attributes to the applicable Amazon Ads campaign model, validate product eligibility and dependencies, and submit supported changes through the Amazon Ads REST API. Reports can flow through Martini to a shared analytics model.
Shopify Use product, inventory, order, and catalog information to inform advertising operations and compare advertising performance with commerce results. Shopify → Martini → Amazon Ads Schedule Shopify extraction, normalize product and availability data, apply marketplace and campaign rules, and call supported Amazon Ads endpoints. Retrieve Amazon Ads reports separately and join them to Shopify commerce data in a warehouse or reporting model.
Salesforce Connect advertising investment and performance with customer, account, opportunity, and marketing reporting processes. Amazon Ads → Martini → Salesforce Request profile and campaign reports, transform campaign and performance dimensions into Salesforce-compatible objects or a reporting payload, validate attribution fields, and write only approved data while recording report and profile identifiers for traceability.
NetSuite Reconcile advertising spend and performance with budgeting, finance, and operational reporting. Amazon Ads → Martini → NetSuite Retrieve completed Amazon Ads reports, normalize currency, marketplace, date, campaign, and metric dimensions, apply finance-specific validation, and deliver summarized or detailed data to NetSuite or an intermediate database according to the organization's accounting model.
Snowflake Centralize campaign, keyword, targeting, and performance data for historical analysis and cross-channel reporting. Amazon Ads → Martini → Snowflake Use scheduled Martini workflows to iterate through configured profiles, submit and poll report requests, retrieve results, preserve report granularity and attribution dimensions, deduplicate overlap windows, and load modeled data into Snowflake.
Google BigQuery Combine Amazon Ads data with commerce, web, and customer datasets for dashboards and analytical models. Amazon Ads → Martini → Google BigQuery Extract reports through asynchronous Amazon Ads operations, transform JSON or downloaded report data into a canonical schema, retain profile and marketplace context, and load incremental partitions into BigQuery with repeat-safe keys.
Tableau Visualize spend, impressions, clicks, conversions, attribution, and marketplace performance. Amazon Ads → Martini → Tableau Use Martini to retrieve and normalize Amazon Ads reports into a database or warehouse model, preserve metric definitions and reporting grain, and expose the curated data for Tableau rather than having Tableau depend directly on Amazon Ads request orchestration.
Looker Provide governed advertising metrics and cross-channel performance models. Amazon Ads → Martini → Looker Build a scheduled reporting workflow that loads profile- and product-specific Amazon Ads data into the organization's warehouse, applies canonical metric and attribution rules, and makes the modeled tables available to Looker.

How to build a Amazon Ads integration in Martini

Objective

Establish Amazon Ads authorization and profile configuration without exposing credentials in workflow payloads or logs.

Instructions in Martini

  • Register and authorize the Amazon Ads application through Login with Amazon.
  • Store the client ID, refresh token, and related credentials in Martini secrets.
  • Store each Amazon Ads profile ID and marketplace context as environment configuration.
  • Configure OAuth token renewal and required Amazon Ads request headers.

Objective

Select a trigger that matches the integration's latency and data requirements.

Instructions in Martini

  • Use a scheduler for reports, campaign governance, and incremental synchronization.
  • Use a workflow start trigger or API when another application initiates a controlled operation.
  • Use an AWS-based stream pattern only for signals confirmed to be available through Amazon Marketing Stream.
  • Do not assume that all Amazon Ads changes can invoke general webhooks.

Objective

Call the appropriate Amazon Ads resource and safely manage pagination, asynchronous state, or stream delivery.

Instructions in Martini

  • Call the versioned REST endpoint for the selected advertising product.
  • Persist report or bulk request identifiers before polling.
  • Continue through paginated collections until the endpoint indicates completion.
  • Apply bounded backoff for throttling and transient failures.

Objective

Coordinate profile iteration, dependencies, asynchronous operations, and target delivery in a maintainable workflow.

Instructions in Martini

  • Process profiles with isolated configuration and error boundaries.
  • Sequence campaigns before dependent ad groups, ads, keywords, or targets when required.
  • Set maximum polling duration and handle failed or expired reports.
  • Record source profile, endpoint, API version, request ID, and reporting window.

Objective

Convert Amazon Ads responses and reports into canonical models suitable for downstream systems.

Instructions in Martini

  • Map campaign, ad group, ad, keyword, target, metric, currency, and marketplace fields explicitly.
  • Preserve report type, attribution rules, date grain, and advertising product.
  • Process JSON or supported downloaded report formats with appropriate transformations.
  • Use overlap-window keys to prevent duplicate report loads.

Objective

Protect advertising spend and data quality through validation, approvals, and repeat-safe processing.

Instructions in Martini

  • Validate required identifiers, profile scope, product-specific fields, and parent-child dependencies.
  • Compare current and desired campaign state before sending updates.
  • Apply spend, status, metadata, and eligibility policies.
  • Route rejected items and business-rule failures to an auditable error path.

Common Amazon Ads data objects used in integrations

ObjectTypical UseCommon target systemsMartini handling
ProfilesRepresent advertising accounts and marketplace-specific scopes used to authorize API operations.Configuration stores, data warehouses, finance platforms, and governance applicationsMartini stores profile configuration separately from workflow logic, uses the profile ID to scope requests, and preserves marketplace and authorization context in downstream records.
CampaignsDefine campaign-level configuration, status, budgets, targeting strategy, and advertising objectives.Amazon Ads, governance systems, commerce platforms, warehouses, and reporting toolsMartini retrieves or updates supported campaign fields, compares desired and current state, applies validation and approval rules, and records request and outcome details.
Ad groupsGroup ads and targeting expressions within a campaign.Amazon Ads, campaign governance systems, warehouses, and analytics platformsMartini maps parent campaign dependencies, validates required relationships, processes paginated collections, and captures per-item errors during bulk or individual operations.
AdsRepresent Sponsored Products, Sponsored Brands, Sponsored Display, or other supported advertising creatives and placements.Amazon Ads, content or commerce systems, warehouses, and reporting applicationsMartini transforms supported creative and placement attributes, applies product-specific rules, and avoids assuming that fields are uniform across advertising products or API versions.
KeywordsDefine keyword targets with bids, match types, and statuses.Amazon Ads, campaign governance systems, commerce platforms, and analytics storesMartini can compare keyword state, normalize bid and status values, apply spend or governance controls, and issue repeat-safe updates to supported endpoints.
Targets / targeting clausesDefine product, audience, category, contextual, or other targeting criteria.Amazon Ads, campaign-management applications, warehouses, and reporting toolsMartini preserves targeting type and campaign hierarchy, validates dependencies and product-specific fields, and records rejected items separately from successful changes.

Authentication and security considerations

OAuth 2.0 and profile scope

Amazon Ads uses OAuth 2.0 with Login with Amazon. Requests use a bearer access token, client ID, and Amazon Ads advertising profile scope. The profile ID identifies the advertiser account and marketplace context for the request.

Secrets and authorization

Access tokens are short-lived and should be renewed with the refresh token. Martini should store client credentials and refresh tokens as environment secrets rather than embedding them in workflows, payloads, or logs.

  • Separate profile configuration from workflow logic.
  • Restrict access to authorization secrets and profile settings.
  • Exclude tokens and authorization values from operational logs.
  • Review advertiser permissions by advertising product and API version.

Operational considerations for Amazon Ads integrations

Rate limits and pagination

Amazon Ads applies rate limits and may return throttling responses. Workflows should control concurrency, use bounded retries with backoff, and process collection pages until completion.

Asynchronous reports

Report creation and retrieval are separate operations. Persist request identifiers, poll at controlled intervals, set a maximum wait time, and handle failed or expired reports without creating duplicate requests.

Data quality and repeatability

Retain profile, marketplace, advertising product, report type, currency, date range, metric grain, API version, and attribution context. Reprocess a short overlap window for late-arriving metrics and deduplicate using deterministic source keys.

Testing and observability

Test each advertising product and API version with representative profiles. Record endpoint, request or report ID, status, retry count, date range, and processed totals while excluding sensitive credentials.

Why use Martini instead of scripts or point-to-point integrations?

Centralized orchestration

Martini coordinates Amazon Ads authorization, profile iteration, REST calls, asynchronous polling, bulk operations, transformations, target delivery, and error handling in maintainable workflows.

Controlled business logic

Campaign and budget changes can pass through validation, approval rules, state comparison, dependency handling, and audit logging before they reach Amazon Ads.

Reusable integration assets

Instead of duplicating scripts for each marketplace or downstream application, Martini can expose normalized APIs, reuse workflow logic, and apply consistent mappings, retries, and observability across profiles.

  • Support scheduled, API-led, batch, and selected event-driven patterns.
  • Keep credentials and profile configuration outside workflow code.
  • Route Amazon Ads data to databases, warehouses, and business applications.

Frequently asked questions

How can Amazon Ads be integrated with enterprise systems?

Amazon Ads can be integrated through its versioned REST APIs for profiles, campaigns, ad groups, ads, keywords, targets, portfolios, budgets, and reporting. Enterprise workflows can also use bulk operations, asynchronous report generation, downloadable report data, and selected Amazon Marketing Stream signals. OAuth 2.0 with Login with Amazon provides authorization.

Can Martini integrate with Amazon Ads?

Yes. Martini can integrate with Amazon Ads by consuming its REST APIs, managing OAuth credentials and profile scope, polling asynchronous reports, processing bulk or report data, applying transformations and business rules, and delivering results to databases, warehouses, or business applications.

Do I need a connector to integrate Amazon Ads with Martini?

No. A dedicated Amazon Ads connector is not required. Martini can use Amazon Ads' confirmed native REST APIs, authentication methods, asynchronous report operations, bulk data, and selected Amazon Marketing Stream integration patterns.

Is there any extra Lonti cost to integrate Amazon Ads with Martini?

Lonti does not charge an additional per-connector or per-vendor fee to integrate Amazon Ads. The integration is subject to the provisioned capacity of the Martini environment. Separate costs may apply from Amazon, AWS, cloud infrastructure, or other third-party systems based on subscriptions, usage, and deployment model.

Which Amazon Ads integration methods should be used?

REST APIs are the primary method for campaign management, profiles, targeting, and supported reporting resources. Bulk operations are useful for supported large-scale changes, while asynchronous reports are appropriate for periodic performance data. Amazon Marketing Stream can provide selected near-real-time signals through AWS, but it is not a general webhook mechanism. No official Amazon Ads GraphQL or SOAP API was identified.

Can Amazon Ads send events or webhooks to Martini?

Amazon Ads should not be treated as providing general webhooks for every campaign or reporting change. Amazon Marketing Stream provides selected near-real-time signals through AWS infrastructure, with its own setup and coverage constraints. For many use cases, scheduled polling and asynchronous reports remain the appropriate approach.

How does synchronization and data mapping work?

A Martini workflow can iterate through Amazon Ads profiles, retrieve paginated resources or reports, and map product-specific objects into a canonical model. Incremental reporting commonly uses a persisted watermark plus a short overlap window for late attribution, with deduplication based on profile, report type, date, object identifier, and metric dimensions.

How are Amazon Ads errors, retries, and duplicate updates handled?

Martini workflows can apply bounded retries with backoff for throttling and transient failures, enforce report polling timeouts, capture per-item bulk failures, and route invalid data to an error path. Campaign changes should use validation, state comparison, idempotent processing, and audit logging. Sensitive tokens should be excluded from logs.