> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nekt.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Amazon Advertising as a data source

> Bring data from Amazon Advertising to Nekt.

Amazon Advertising is Amazon's advertising platform for sellers, vendors and agencies to run Sponsored Products, Sponsored Brands and Sponsored Display campaigns across Amazon's marketplaces. This source brings your **campaign management** structure — campaigns, ad groups, ads, keywords and targeting — into Nekt.

## Configuring Amazon Advertising as a Source

In the [Sources](https://app.nekt.ai/sources) tab, click on the "Add source" button located on the top right of your screen. Then, select the Amazon Advertising option from the list of connectors.

Click **Next** and you'll be prompted to add your access.

### 1. Add account access

You'll need to authorize Nekt to access your Amazon Advertising data. Click on the **Amazon Authorization** button and log in with an Amazon account that has access to the advertising profiles you want to extract data from.

The following configurations are available:

* **Where are your advertising accounts located?**: Select the region of your Amazon Advertising accounts (North America, Europe or Far East) so we can determine the correct API URL.

* **Profile IDs**: *(Advanced, optional)* A list of specific advertising profile IDs to sync. Leave it empty to sync every profile the authorized account can access.

Once you're done, click **Next**.

### 2. Select streams

Choose which data streams you want to sync. For faster extractions, select only the streams that are relevant to your analysis. You can select entire groups of streams or pick specific ones.

> Tip: The stream can be found more easily by typing its name.

Select the streams and click **Next**.

### 3. Configure data streams

Customize how you want your data to appear in your catalog. Select the desired layer where the data will be placed, a folder to organize it inside the layer, a name for each table (which will effectively contain the fetched data) and the type of sync.

* **Layer**: choose between the existing layers on your catalog. This is where you will find your new extracted tables as the extraction runs successfully.
* **Folder**: a folder can be created inside the selected layer to group all tables being created from this new data source.
* **Table name**: we suggest a name, but feel free to customize it. You have the option to add a **prefix** to all tables at once and make this process faster!
* **Sync Type**: you can choose between INCREMENTAL and FULL\_TABLE.
  * Incremental: every time the extraction happens, we'll get only the new data.
  * Full table: every time the extraction happens, we'll get the current state of the data — recommended for campaign-management streams, since campaign structure changes in place.

Once you are done configuring, click **Next**.

### 4. Configure data source

Describe your data source for easy identification within your organization, not exceeding 140 characters.

To define your [Trigger](https://docs.nekt.com/runs/scheduling-and-triggers), consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times).

Optionally, you can define some additional settings:

* Configure Delta Log Retention and determine for how long we should store old states of this table as it gets updated. Read more about this resource [here](https://docs.nekt.com/get-started/core-concepts/resource-control).
* Determine when to execute an **Additional [Full Sync](https://docs.nekt.com/get-started/core-concepts/types-of-sync#additional-full-sync)**.

Once you are ready, click **Next** to finalize the setup.

### 5. Check your new source

You can view your new source on the [Sources](https://app.nekt.ai/sources) page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.

<Warning>For you to be able to see it on your [Catalog](https://app.nekt.ai/catalog), you need at least one successful source run.</Warning>

# Streams and Fields

Amazon Advertising exposes data per **profile** (advertising account). Every campaign-management record includes a `profile_id` column identifying the owning profile. Identifiers are returned as strings, and nested or variable objects (budgets, bidding settings, targeting expressions) are provided as JSON strings.

Below you'll find all available data streams from Amazon Advertising and their corresponding fields:

<AccordionGroup>
  <Accordion title="Profiles">
    Advertising profiles (accounts) the authorized user can access. This stream is the source of the profile scope used by every other stream.

    **Key Fields:**

    * `profile_id` - Advertising profile (account) identifier
    * `country_code` - Marketplace country code (e.g. US, BR)
    * `currency_code` - Currency used for the profile
    * `daily_budget` - Default daily budget for the profile
    * `timezone` - Profile timezone
    * `account_id` - Seller/vendor account id
    * `account_marketplace_string_id` - Marketplace string id
    * `account_name` - Account display name
    * `account_type` - Account type: seller, vendor or agency
    * `account_sub_type` - Account sub-type, when present
    * `account_valid_payment_method` - Whether a valid payment method exists
  </Accordion>

  <Accordion title="Portfolios">
    Portfolios group campaigns under a shared budget.

    **Key Fields:**

    * `profile_id` - Owning advertising profile id
    * `portfolio_id` - Portfolio identifier
    * `name` - Portfolio name
    * `state` - enabled, paused or archived
    * `in_budget` - Whether the portfolio is within budget
    * `budget` - Budget object as a JSON string
    * `serving_status` - Serving status of the portfolio
    * `creation_date` / `last_updated_date` - Create/update timestamps
  </Accordion>

  <Accordion title="Sponsored Products — Campaigns (sp_campaigns)">
    Sponsored Products campaigns.

    **Key Fields:**

    * `profile_id`, `campaign_id`, `name`, `state`
    * `targeting_type` - AUTO or MANUAL targeting
    * `start_date`, `end_date`, `portfolio_id`
    * `budget` - Budget object as a JSON string
    * `dynamic_bidding` - Dynamic bidding config as a JSON string
    * `serving_status` - Delivery serving status
    * `extended_data` - Remaining extendedData (timestamps, status details) as a JSON string
    * `tags` - Campaign tags as a JSON string
  </Accordion>

  <Accordion title="Sponsored Products — Ad Groups (sp_ad_groups)">
    **Key Fields:** `profile_id`, `ad_group_id`, `campaign_id`, `name`, `state`, `default_bid`, `serving_status`, `extended_data`
  </Accordion>

  <Accordion title="Sponsored Products — Product Ads (sp_product_ads)">
    **Key Fields:** `profile_id`, `ad_id`, `campaign_id`, `ad_group_id`, `state`, `sku`, `asin`, `custom_text`, `serving_status`, `extended_data`
  </Accordion>

  <Accordion title="Sponsored Products — Keywords (sp_keywords)">
    **Key Fields:** `profile_id`, `keyword_id`, `campaign_id`, `ad_group_id`, `keyword_text`, `match_type` (EXACT, PHRASE, BROAD), `state`, `bid`
  </Accordion>

  <Accordion title="Sponsored Products — Targets (sp_targets)">
    Targeting clauses for Sponsored Products.

    **Key Fields:** `profile_id`, `target_id`, `campaign_id`, `ad_group_id`, `state`, `expression_type` (AUTO/MANUAL), `bid`, `expression` and `resolved_expression` (JSON strings)
  </Accordion>

  <Accordion title="Sponsored Products — Negative Keywords (sp_negative_keywords)">
    **Key Fields:** `profile_id`, `keyword_id`, `campaign_id`, `ad_group_id`, `keyword_text`, `match_type`, `state`
  </Accordion>

  <Accordion title="Sponsored Products — Campaign Negative Keywords (sp_campaign_negative_keywords)">
    Campaign-level negative keywords.

    **Key Fields:** `profile_id`, `keyword_id`, `campaign_id`, `keyword_text`, `match_type`, `state`
  </Accordion>

  <Accordion title="Sponsored Products — Negative Targets (sp_negative_targets)">
    **Key Fields:** `profile_id`, `target_id`, `campaign_id`, `ad_group_id`, `state`, `expression` and `resolved_expression` (JSON strings)
  </Accordion>

  <Accordion title="Sponsored Brands — Campaigns (sb_campaigns)">
    Sponsored Brands campaigns.

    **Key Fields:**

    * `profile_id`, `campaign_id`, `name`, `state`
    * `budget`, `budget_type` (DAILY/LIFETIME)
    * `bidding` - Bidding config as a JSON string
    * `start_date`, `end_date`, `portfolio_id`, `brand_entity_id`
    * `goal`, `cost_type` (CPC/VCPM), `is_multi_ad_groups_enabled`, `product_location`
    * `serving_status`, `extended_data`, `tags`
  </Accordion>

  <Accordion title="Sponsored Brands — Ad Groups (sb_ad_groups)">
    **Key Fields:** `profile_id`, `ad_group_id`, `campaign_id`, `name`, `state`, `serving_status`, `extended_data`
  </Accordion>

  <Accordion title="Sponsored Brands — Ads (sb_ads)">
    **Key Fields:** `profile_id`, `ad_id`, `campaign_id`, `ad_group_id`, `name`, `state`, `ad_type`, `creative` and `landing_page` (JSON strings), `serving_status`, `extended_data`
  </Accordion>

  <Accordion title="Sponsored Brands — Keywords (sb_keywords)">
    **Key Fields:** `profile_id`, `keyword_id`, `campaign_id`, `ad_group_id`, `keyword_text`, `match_type`, `state`, `bid`
  </Accordion>

  <Accordion title="Sponsored Brands — Negative Keywords (sb_negative_keywords)">
    **Key Fields:** `profile_id`, `keyword_id`, `campaign_id`, `ad_group_id`, `keyword_text`, `match_type`, `state`
  </Accordion>

  <Accordion title="Sponsored Brands — Targets (sb_targets)">
    **Key Fields:** `profile_id`, `target_id`, `campaign_id`, `ad_group_id`, `state`, `bid`, `expressions` (JSON string)
  </Accordion>

  <Accordion title="Sponsored Brands — Negative Targets (sb_negative_targets)">
    **Key Fields:** `profile_id`, `target_id`, `campaign_id`, `ad_group_id`, `state`, `expressions` (JSON string)
  </Accordion>

  <Accordion title="Sponsored Display — Campaigns (sd_campaigns)">
    Sponsored Display campaigns.

    **Key Fields:**

    * `profile_id`, `campaign_id`, `name`, `state`
    * `tactic` (T00020 contextual / T00030 audiences)
    * `budget`, `budget_type`, `cost_type` (cpc/vcpm)
    * `start_date`, `end_date`, `portfolio_id`, `delivery_profile`, `bid_optimization`
    * `serving_status`, `creation_date`, `last_updated_date`
  </Accordion>

  <Accordion title="Sponsored Display — Ad Groups (sd_ad_groups)">
    **Key Fields:** `profile_id`, `ad_group_id`, `campaign_id`, `name`, `state`, `default_bid`, `bid_optimization`, `serving_status`, `creation_date`, `last_updated_date`
  </Accordion>

  <Accordion title="Sponsored Display — Product Ads (sd_product_ads)">
    **Key Fields:** `profile_id`, `ad_id`, `campaign_id`, `ad_group_id`, `state`, `asin`, `sku`, `serving_status`, `creation_date`, `last_updated_date`
  </Accordion>

  <Accordion title="Sponsored Display — Targets (sd_targets)">
    **Key Fields:** `profile_id`, `target_id`, `campaign_id`, `ad_group_id`, `state`, `bid`, `expression_type` (auto/manual), `expression` (JSON string), `serving_status`, `creation_date`, `last_updated_date`
  </Accordion>

  <Accordion title="Sponsored Display — Negative Targets (sd_negative_targets)">
    **Key Fields:** `profile_id`, `target_id`, `campaign_id`, `ad_group_id`, `state`, `expression` (JSON string), `serving_status`, `creation_date`, `last_updated_date`
  </Accordion>
</AccordionGroup>
