# Platform Overview

Everything you need to launch successfully

## Welcome to Daasity!

#### Transform Your Data Into Actionable Intelligence

Whether you're just getting started or optimizing advanced workflows, our comprehensive guides and resources will help you unlock the full potential of your unified commerce data.

<div align="left" data-full-width="false"><figure><img src="/files/xtjFNoQ1DfAEwTKj2UVf" alt=""><figcaption></figcaption></figure></div>

***

### 🚀 Quick Start Guides

#### New to Daasity?&#x20;

Start your journey with these essential resources:

[**Getting Started Guide**](/getting-started/quickstart-guides) → Complete your initial setup in 30 minutes **\[First Dashboard Tutorial]** → Create your first report in 5 steps\
[**Data Integration Setup Guides**](/core-concepts/data-integrations/setup-guides) → Connect your first data source **\[Video Walkthrough]** → Watch a 10-minute platform overview

#### Returning User?

Jump directly to what you need:

[**Platform Navigation**](broken://pages/h0BG0ZZczEoXHVNUXogH) → Master the Daasity interface&#x20;

[**What's New**](https://daasity.canny.io/) **&** [**Important Updates** ](/support/important-product-updates)→ Latest features and updates from the product changelog

[**Analysis Best Practices**](/getting-started/quickstart-guides/how-to-analyze-your-data) → Optimize your analytics workflow&#x20;

[**Troubleshooting Hub**](/core-concepts/data-integrations/integration-troubleshooting) **&** [**FAQs**](/support/faq) → Solve common issues quickly

***

### 📊 Platform Overview

<figure><img src="/files/4QIN1Jo2XDkWsshviszu" alt=""><figcaption></figcaption></figure>

**Home Dashboard**

*Your command center for business intelligence*

Start each day with a comprehensive view of your business performance. The Home dashboard provides real-time KPIs segmented by channel, with drill-down capabilities for deeper analysis.

**Key capabilities:**

* Total company performance metrics
* Channel-specific analytics (E-commerce, Retail, Marketing)
* One-click access to departmental deep-dives
* Customizable KPI cards and alerts

[**Learn about Home Dashboard →**](/getting-started/quickstart-guides/homepage-kpi-dashboard)

***

#### **Collections**

*Organize and share your analytics workspace*

Collections are your personalized hub for organizing dashboards, reports, and visualizations. Create private workspaces or collaborate with teams through shared collections.

**What you can do:**

* Build custom dashboard portfolios
* Share insights across departments
* Save and organize template reports
* Create role-specific analytics hubs

[**Explore Collections →**](/getting-started/quickstart-guides/how-to-analyze-your-data#save-and-organize-with-collections)

***

#### **Explore & Data Dictionary**

*Build custom reports without writing code*

Our drag-and-drop Explore interface lets you create sophisticated analyses without SQL knowledge. Access pre-built data models optimized for different business questions.

**Available Explores:**

* **Orders Explore** - Transaction and revenue analysis
* **Customer Explore** - Segmentation and behavior patterns
* **Marketing Explore** - Campaign and channel performance
* **Product Explore** - SKU and category insights
* **Custom Explores** - Tailored to your unique needs

[**Start Exploring Data →**](/core-concepts/data-models/data-explores)

***

#### Data Platform & ELT

Daasity  pulls data into your centralized data warehouse. The extractor layer creates an exact replica of your source data in our data warehouse. We transform disparate data sources into [unified models](/core-concepts/data-models/unified-schemas/unified-schema-introduction) that represent universal business concepts

**Learn about our** [**Data Integrations**](/core-concepts/data-integrations/overview) **and** [**Custom Data Inputs**](/core-concepts/data-integrations/custom-data-inputs) **→**

***

#### **Templates Library**

*Deploy best-practice dashboards instantly*

Access our growing library of pre-configured dashboards designed by e-commerce analytics experts. Each template represents industry best practices and can be customized to your needs.

**Popular Templates:**

* **Flash Dashboard** - Daily performance snapshot
* **Cohort Analysis** - Customer retention and LTV
* **Marketing Attribution** - Multi-touch ROI analysis
* **Inventory Analytics** - Stock and sell-through rates
* **Promotional Analysis** - Discount impact and pricing optimization

[**Browse All Templates →**](/core-concepts/dashboards/report-library)

***

#### **Data Management**

*Connect, configure, and control your data*

The Data section is your control center for all data operations, from initial setup to ongoing optimization.

**Core Functions:**

* **Integrations** - Connect 50+ platforms (Shopify, Amazon, Meta, Google, etc.)
* **Custom Metrics** - Define business-specific calculations
* **Brand Supplied Data** - Upload supplementary data files
* **Data Quality** - Monitor sync status and data freshness

[**Manage Your Data →**](/core-concepts/custom-data-and-enrichment)

***

#### **Audiences**

*Activate insights across your marketing stack*

Transform analytics into action with our Reverse ETL capabilities. Build sophisticated customer segments and push them directly to your marketing platforms.

**Activation Channels:**

* Facebook/Meta Ads custom audiences
* Google Ads customer match
* Email platforms (Klaviyo, Attentive, Braze)
* SMS marketing tools
* Custom webhooks and APIs

[**Create Your First Audience →**](/core-concepts/audiences-reverse-elt/audiences-overview)

***

Our support team is here to help. Reach out to us at [**support@daasity.com**](mailto:support@daasity.com) or browse our Quickstart, [FAQ](/support/faq), Analytics Resources and Data Dictionary (Models, Metrics, Unified Schemas, Integrations) for quick answers to common questions.

***

### Additional Resources

* [**Product Changelog**](https://daasity.canny.io/changelog) – See the latest feature releases, schema updates, and fixes.
* [**Feature Requests**](https://daasity.canny.io/feature-requests) – Share ideas and vote on future product enhancements.
* [**Documentation by Schema**](/core-concepts/data-models/unified-schemas) – Explore details for each unified model (UOS, URS, URMS, UMS, UNS, UTS) and supporting data marts.

{% hint style="info" %}
Next Step: Head over to our Quick Start Guide: [Navigation 101](broken://pages/h0BG0ZZczEoXHVNUXogH).
{% endhint %}


# In Process -

INSERT INTO "OVERVIEW" above the "ADDITIONAL RESOURCES" section.

#### **Settings & Administration**

*Control access and optimize performance*

Manage your Daasity environment with enterprise-grade administrative tools.

**Administrative Controls:**

* User management and permissions
* Workflow scheduling and monitoring
* Company settings (timezone, currency, fiscal calendar)
* API access and webhooks
* Audit logs and compliance

***

### 📚 Resource Center

#### By User Role

**For Executives & Leaders**

* \[Executive Dashboard Setup]
* \[KPI Configuration Guide]
* \[Board Reporting Templates]
* \[ROI Calculator]

**For Analysts & Data Teams**

* \[Advanced Explore Techniques]
* \[SQL Query Library]
* \[Custom Metrics Framework]
* \[Data Modeling Best Practices]

**For Marketers**

* \[Marketing Attribution Guide]
* \[Audience Building Playbook]
* \[Campaign Performance Templates]
* \[Channel Optimization Toolkit]

**For Operations Teams**

* \[Inventory Analytics Guide]
* \[Supply Chain Dashboards]
* \[Operational Efficiency Metrics]
* \[Forecasting Templates]

#### By Business Goal

**Increase Revenue**

* \[Conversion Rate Optimization]
* \[Pricing Strategy Analytics]
* \[Cross-sell & Upsell Analysis]
* \[Customer Acquisition Playbook]

**Improve Retention**

* \[Cohort Analysis Deep Dive]
* \[Churn Prediction Models]
* \[Loyalty Program Analytics]
* \[Customer Journey Mapping]

**Optimize Marketing Spend**

* \[CAC & LTV Analysis]
* \[Channel Attribution Models]
* \[Budget Allocation Framework]
* \[ROAS Optimization Guide]

**Enhance Operations**

* \[Inventory Turnover Analysis]
* \[Fulfillment Optimization]
* \[Vendor Performance Tracking]
* \[Demand Forecasting]

***

### 🎓 Learning Paths

#### **Daasity Fundamentals**

*Perfect for new users*

A structured 5-day program to master Daasity basics:

1. **Day 1:** Platform orientation and navigation
2. **Day 2:** Connecting your first data sources
3. **Day 3:** Understanding metrics and dimensions
4. **Day 4:** Creating your first dashboard
5. **Day 5:** Sharing insights with your team

**\[Start Learning Path →]**

#### **Advanced Analytics Certification**

*For power users and analysts*

Comprehensive training on advanced Daasity features:

* Complex data modeling
* Custom metric creation
* Advanced segmentation
* Predictive analytics
* API integration

**\[Enroll in Certification →]**

#### **Marketing Mastery Series**

*For marketing professionals*

Specialized training for marketing use cases:

* Multi-touch attribution setup
* Audience creation and activation
* Campaign performance analysis
* Marketing mix modeling
* Customer journey analytics

**\[Begin Marketing Track →]**

***

### 🛠️ Technical Resources

#### **Developer Documentation**

* \[API Reference Guide]
* \[Webhook Configuration]
* \[Custom Integration Builder]
* \[Data Export Documentation]
* \[SDK Libraries]

#### **Data Schema Reference**

* \[Unified Data Model]
* \[Table Relationships]
* \[Field Definitions]
* \[Calculation Methods]
* \[Schema Changelog]

#### **Integration Guides**

* \[E-commerce Platforms]
* \[Marketing Channels]
* \[ERP Systems]
* \[Customer Service Tools]
* \[Custom Data Sources]

***

### 💡 Get Help

#### **Immediate Support**

**🔍 \[Search Knowledge Base]**\
Find instant answers to common questions

**💬 \[Live Chat Support]**\
Connect with our support team (Mon-Fri, 9am-6pm EST)

**🎥 \[Video Library]**\
Watch tutorials and walkthroughs

**📧 \[Email Support]**\
<support@daasity.com>

#### **Community & Updates**

**👥 \[Community Forum]**\
Connect with other Daasity users

**📢 \[Product Changelog]**\
Stay updated on new features and improvements

**💡 \[Feature Requests]**\
Help shape the future of Daasity

**📅 \[Webinar Schedule]**\
Join live training sessions

#### **Account Management**

**📞 \[Schedule a Call]**\
Book time with your Customer Success Manager

**🎯 \[Success Planning]**\
Define and track your analytics goals

**📊 \[Quarterly Business Reviews]**\
Review performance and optimize usage

***

### 🌟 What's New

#### **Latest Features**

* **AI-Powered Insights** - Automatic anomaly detection and alerts
* **Custom Dashboards 2.0** - Enhanced visualization options
* **Real-time Sync** - Minute-level data updates for critical metrics
* **Mobile App Beta** - Access dashboards on the go

**\[View Full Changelog →]**

#### **Upcoming Webinars**

* **Jan 15:** Advanced Segmentation Strategies
* **Jan 22:** Q1 Planning with Daasity
* **Jan 29:** New Features Workshop
* **Feb 5:** Marketing Attribution Masterclass

**\[Register for Webinars →]**

***

### 🚦 System Status

**Current Status:** ✅ All Systems Operational

* **Data Sync:** Operating normally
* **API:** 100% uptime
* **Dashboards:** Loading < 2 seconds
* **Integrations:** All connections active

**\[View Status Page →]**

***

### Can't Find What You're Looking For?


# Quickstart Guides


# How to connect to your data


# How to customize your data


# How to analyze your data

Introduction to using Daasity for reporting and ad-hoc data analysis.

## Analyze Data in Daasity: Explores, Dashboards, and Collections

This guide shows how to do ad‑hoc analysis with **Looker Explores**, monitor KPIs with **Dashboards**, and organize your work in **Collections**. It’s written for business users and analysts who want a fast, reliable workflow.

***

### How Daasity Organizes Your Data

Daasity provides a curated semantic layer in Looker so you can analyze accurate, unified metrics without wrangling joins.

* **Unified models (recommended for most reporting):**
  * **UOS – Unified Order Schema:** Direct‑to‑consumer orders, revenue, discounts, refunds.
  * **URS – Unified Retail Schema:** Retail/wholesale performance across retailers and channels.
* **Source‑specific models:** When a vendor/source doesn’t cleanly join to others or you need raw, channel‑level detail.
* **Dimensions vs. Measures:**
  * **Dimensions** are “fields you group by” (e.g., Product Name, Order Date, Traffic Source).
  * **Measures** are calculations (e.g., Net Sales, Orders, AOV).

> **Why isn’t everything in one Explore?**\
> Different data sets have different grains and join rules. Combining them can create duplicates or incorrect totals. Separate Explores keep queries fast and results trustworthy.

***

### When to Use Explores vs. Dashboards

| If you want to…                                        | Use                       |
| ------------------------------------------------------ | ------------------------- |
| Ask a one‑off question or iterate quickly              | **Explore**               |
| Start from a best‑practice template of fields/filters  | **Quick Start (Explore)** |
| Monitor a set of KPIs and trends over time             | **Dashboard**             |
| Make a small change to a dashboard tile and dig deeper | **Explore from here**     |

***

### Pick the Right Explore

Explores are grouped by **subject area**. Start with your business question, then choose the matching subject.

**Common subject areas**

* Orders, Customers, Marketing, Traffic
* Inventory, Returns, Shipping, Subscribers

**Examples**

* DTC revenue trend → **UOS (Orders)**
* Retail sell‑through across accounts → **URS (Retail)**
* Channel‑specific deep dive (e.g., ad platform raw data) → **Source‑specific Explore**

***

### Start in an Explore: Blank or Quick Start

You can begin from a blank slate or use a pre‑curated **Quick Start** with common fields, filters, and visual defaults.

**Blank Explore (full control)**

1. Open **Explore** and select the model (e.g., **UOS** or **URS**).
2. Add **Dimensions** (e.g., Order Date) and **Measures** (e.g., Net Sales).
3. Apply filters, click **Run**.
4. Choose a visualization and tweak formatting.

**Quick Start (faster)**

1. Open **Explore** and pick the model.
2. Select a **Quick Start** (e.g., “Orders by Day (Net)”).
3. Review the pre‑loaded fields/filters; adjust if needed.
4. Click **Run** and customize the visualization.

> **Best practice:** Start with a Quick Start for common questions; switch to a blank Explore for bespoke analyses.

***

### Dashboards = Collections of Tiles (Each Tile Is a Saved Explore View)

A **dashboard** is a page of **tiles**. Each tile is backed by an individual **saved Explore view** (a specific query + visualization).

* Use dashboards for **monitoring** and sharing KPIs.
* Each tile can be opened for deeper analysis with **Explore from here** (see below).
* You can **clone** dashboards or add your own tiles from saved Explore views.

***

### “Explore from Here” (Adjust Any Dashboard Tile Safely)

When a dashboard tile raises a new question:

1. On the tile, open the **⋯** menu and choose **Explore from here**.
2. You’ll land on the underlying Explore with the tile’s fields/filters pre‑applied.
3. Adjust fields, filters, pivots, or visualization.
4. **Save** your adjusted analysis (see **Collections** below). You won’t change the original dashboard tile unless you explicitly update it.

> **Tip:** Use “Explore from here” to keep the dashboard stable while you iterate in your own workspace.

***

### Work Faster: Pivots, Filters, and Visualizations

#### Pivoting

* Hover over a **Dimension** and click **Pivot** to turn its values into columns.
* Keep pivoted columns **under \~50** for snappy browser performance. (Up to **200** pivoted values supported; visibility often limited for performance.)
* Sort columns by clicking headers; **Shift + click** for multi‑column sort.
* To unpivot, use the gear menu (**Unpivot**) or click the Pivot icon again.
* Include at least **one unpivoted Dimension** and **one Measure**.

#### Filtering

* **Basic filters:** Use the filter icon next to any field in the picker.
* **Advanced:** **matches (advanced)** supports pattern matching for complex expressions.
* **Custom Filter:** Build compound logic using Looker expressions.
* **Behavior:**
  * **Dimension filters** limit the raw rows considered.
  * **Measure filters** apply **after** aggregation (e.g., only show products where Net Sales > X).
* **Limits:** Set row/column limits to keep queries responsive (typical defaults: up to **5,000 rows** and **200 columns**).

#### Visualization

* Quick‑switch among **Table, Column, Bar, Line, Pie**, etc.
* Click **Edit** to configure axes, series, labels, number formatting, and totals.
* For tables, add row/column **Totals** and drag headers to **reorder** columns.

> **Performance tip:** Prefer fewer, more targeted fields; use filters and modest pivots to keep results fast and readable.

***

### Quick Decision Guide: Choosing the Correct Explore

1. **Define the question:** Revenue trend? Cohort behavior? Traffic source? Inventory position?
2. **Match the subject area:** Orders, Customers, Marketing, Traffic, Inventory, Returns, Shipping, Subscribers.
3. **Pick unified vs. source‑specific:**
   * Use **UOS/URS** for standardized, cross‑source reporting.
   * Use **source‑specific** when you need vendor‑level details that don’t belong in a unified model.

***

### FAQs

**Can I customize a default dashboard tile?**\
Yes. Use **Explore from here**, make changes, and **Save** to your **Private** or **Shared** Collection. You can also clone the dashboard and replace tiles.

**Where should I save finished analyses?**\
Place team‑relevant, stable content in a **Shared** subcollection. Keep drafts in **Private**.

**What if I don’t see an Explore I need?**\
Some models are permissioned or require enablement. Contact your admin or Daasity Support.

***

### What to Read Next

* **Accessing Explores** – Find and open Explores in your environment
* **Scheduling & Alerts** – Send results to Slack/email on a schedule
* **Permissions & Sharing** – Control who can view or edit your assets

> **Remember:** Use **Explores** to answer questions quickly, **Dashboards** to monitor what matters, and **Collections** to keep everything organized and shareable.


# How to save & organize reports

Introduction to managing your saved reports (Dashboards & Data Explores) using Daasity's Collections.

## Save and Organize with Collections

Save **visualizations/tables** (Explore results) and **dashboards** into **Collections** so you and your team can find and reuse them.

* **Private Collection:** Your personal workspace for drafts and experiments.
* **Shared Collection:** Team‑visible space for finalized assets.

⚠️ Be careful to save reports to your **Shared Collection** if you want it to be available to the rest of your team.

* **Subcollections:** Create subfolders (e.g., `/Shared/Marketing/Performance` or `/Private/YourName/Ad‑hoc`) to keep assets tidy.

## **Naming & description best practices**

* Use a clear pattern:\
  `Team / Metric — Grain — Filter`\
  Examples: `Ecom / Net Revenue — Daily — L90D`, `Ops / Returns Rate — Weekly — US Only`
* Add a short **Description**: purpose, key filters, business rules/assumptions.

> **Governance tip:** Save work‑in‑progress to **Private**. Move stable reports to **Shared** so your team can rely on them.


# Homepage KPI Dashboard


# Installation

Welcome to Daasity!

<figure><img src="/files/3ORfJ8qqlRZEqZcU84WT" alt=""><figcaption><p>What the first couple weeks look like</p></figcaption></figure>

Once an agreement is in place our team will reach out to coordinate next steps and account setup. There are some tasks each merchant is responsible for, their support documentation can be found in the following sections.&#x20;


# 1- Connect Your Warehouse

For brand new merchants, your first step in setting up your account is to get your warehouse connected. Integrate your Snowflake or BigQuery warehouse to centralize your analytics and unlock deeper insights. By connecting your warehouse, you’ll enable seamless data syncing, faster reporting, and a more complete view of your business performance across platforms. Whether you're using Snowflake or BigQuery, setup is simple and secure.


# BigQuery

Follow these steps to create a dataset in Google Cloud Platform for Daasity to load data into.&#x20;

## 1. Create a new Project

<div data-full-width="false"><figure><img src="/files/SWHfUScX5kJII9KNrVPY" alt=""><figcaption></figcaption></figure></div>

## 2. Create API Services / Credentials

<div data-full-width="false"><figure><img src="/files/O6KKkXSnlg9IU0a86Gdw" alt=""><figcaption></figcaption></figure></div>

## 3. Create new service account

<div data-full-width="false"><figure><img src="/files/rfreeur8zGKxClyBjBey" alt=""><figcaption></figcaption></figure></div>

<div data-full-width="false"><figure><img src="/files/1j1cs58EghAyJq2p4p48" alt=""><figcaption></figcaption></figure></div>

## 4. Create appropriate Service Roles

Service account **must** have **BigQuery Admin** and **Storage Admin** roles. They are necessary to grant privileges for service accounts when createing schemas/tables and loading data into them.

<figure><img src="/files/QqJpIR6ywuABy86ptTyh" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/lFGEAFwXo3eUkqFP4CDI" alt=""><figcaption></figcaption></figure>

## 5. Download private key JSON

This file holds the credentials for the service account you created and will be used when setting up a BigQuery warehouse on the Daasity app.

<figure><img src="/files/i87Cg6q3buLHkFKfHCi2" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/KP4Ek6EMT55MR4h5ur6f" alt=""><figcaption></figcaption></figure>


# Snowflake

You can connect your Snowflake Warehouse to Daasity by following the steps below.

## Navigate to Warehouse Section in Daasity App

<figure><img src="/files/KFgISOedumxUzc9jj69V" alt=""><figcaption><p>Click Warehouse</p></figcaption></figure>

## Choose First "Recommended" Snowflake Option

## Choose I Already Have a Snowflake Account and click Continue Setup.

<figure><img src="/files/8Y1EZxS4hDeQo5TO6l1d" alt=""><figcaption><p>Already Have Snowflake</p></figcaption></figure>

## Enter Your Snowflake Account Information

<figure><img src="/files/gKsyc8qZslfdV8sqfchh" alt=""><figcaption><p>Complete Information</p></figcaption></figure>

### Account URL:<br>

<br>

<figure><img src="/files/NVSBnFvVUId6m8rgNiNM" alt=""><figcaption><p>URL</p></figcaption></figure>

### Account Locator:<br>

<figure><img src="/files/5wQzlnopGstczEceSbT2" alt=""><figcaption><p>Locator</p></figcaption></figure>

### Account Edition:

<figure><img src="/files/eSUpoWO89itHf3w6DbFM" alt=""><figcaption><p>Edition</p></figcaption></figure>

{% hint style="success" %}
If you have an Enterprise account, choose the Enterprise edition option so you may take advantage of the Snowflake automatic cluster scaling.
{% endhint %}

### Enter Setup Credentials

### These are the credentials of a user that has been granted the ACCOUNTADMIN role. &#x20;

{% hint style="success" %}
**NOTE:** This credential information is ONLY required during setup and will NOT be used again. &#x20;

**Daasity uses these credentials to set up the roles, users, etc required for Daasity.**
{% endhint %}

<figure><img src="/files/HC7BnwMrdaZMQdyu0wkf" alt=""><figcaption><p>Credentials</p></figcaption></figure>

### Test the Credentials

The last step is to validate the credentials / settings are working properly.  By clicking the T**est Connection** button, it will verify the Admin Credentials along with Access to the initial Compute Warehouse.

<figure><img src="/files/b6tT4SDhcuVEIyWxPAqN" alt=""><figcaption><p>Test Connection</p></figcaption></figure>

### Review Settings

{% hint style="success" %}
If the credentials work, you will be prompted to move along to the next step to **Review the settings.**
{% endhint %}

<br>

<figure><img src="/files/tkZNnPuEaJO7OFul3ORO" alt=""><figcaption><p>Success</p></figcaption></figure>

### Credentials did NOT work

<figure><img src="/files/ka3tUGiJeXbEk69xJjz3" alt=""><figcaption><p>Failed</p></figcaption></figure>

Typical mistakes which cause the validation to fail are:

* Invalid credentials - username / password
* Password or username must NOT contain the curly brace characters { or }
* User does not have access to the compute warehouse
* The Snowflake account may not be publicly accessible. If not, you will need to add the Daasity servers to the whitelist.

**Once you have troubleshooted and Passed the Test Connection**

## We suggest using the Default Settings

<figure><img src="/files/HawFPjgr8WfhSQ0hb7JD" alt=""><figcaption><p>Default</p></figcaption></figure>

### Modify Settings (NOT Recommended)

<figure><img src="/files/ncLIRjLqZUtRGMNj3GQ4" alt=""><figcaption><p>Modify</p></figcaption></figure>

\
Create Warehouse - Start the setup process
------------------------------------------

### Click the \[Create] button to start the setup process

The setup screen will show the progress:

<figure><img src="/files/1FEMPZFAiGx7u606Bpjw" alt=""><figcaption><p>Setup</p></figcaption></figure>

When complete:

<figure><img src="/files/V7DQ31djRdd6BGFHJYW8" alt=""><figcaption><p>Completed</p></figcaption></figure>

<br>


# 2- Extract your data with Daasity

Get an overview of how use Daasity to extract and load data into your data warehouse

## Introduction&#x20;

Daasity makes it easy to connect to all of your data sources, and load your data into a centralized data warehouse and reporting platform.

To start extracting data with Daasity, you just need access to the platforms you want to extract data from, then head straight to the [Integrations](/core-concepts/data-integrations/setup-guides) page in the Daasity app. Each integration has its own specifications (credentials to enter, or files to upload).

Once you've set up an integration, it will be included in your daily data update, or you can configure your custom workflows to manage how often the data is extracted and whether any custom transformation code should run upon completion. [You can get all the details on workflows here](/technical-docs/workflows-and-scheduling/getting-started-with-workflows).

## Example of setting up an integration

The video below shows how to add an integration and configure it in a [workflow](/technical-docs/workflows-and-scheduling/getting-started-with-workflows):

{% embed url="<https://www.youtube.com/watch?v=rFmekxBtP-s>" %}

## Understanding your extracted data

The [Integrations](/core-concepts/data-integrations/setup-guides) section of this knowledge base has the following information for each integration to help you get the most out of your data:

* **Integration Setup**: Instructions for setting up your integration and troubleshooting setup problems.
* **Integration Specifications**: Technical details about the integration and the data that each integration will extract and load. These articles include which endpoints Daasity pulls data from, context on all of the tables created by the integration, and an entity relationship diagram (ERD) to help you understand how the different tables are related.
* **Workflow Configuration Setup:** Context on how frequently an integration can return fresh data. Some integrations will not extract new data more than once per day, while others can get new data hourly.
* **Transformation Configuration Setup:** Instructions on what transformation code you should add to your script manifest files to transform the raw data from the integration as part of our [Daasity Data Model](/getting-started/philosophy). Read our [Transforming Data with Daasity](/technical-docs/transform-code) article for more context.
* **Important Notes** (Not included for all integrations)**:** Important notes and caveats about the data that you should know before diving in to analyze it.

## Extraction frequency

When you set up most integrations, they will extract data only once per day by default. The exceptions to this are Shopify and Amazon Seller Central, which are set up to run every hour by default.

If you would like an integration to run an extraction more frequently than once per day, you can do so by [setting up a custom workflow](/technical-docs/workflows-and-scheduling/getting-started-with-workflows), configuring the appropriate refresh interval, and adding the integration to the workflow.&#x20;

You can configure a custom workflow to run as frequently as once per hour. **However**, most of our integrations will not get new data every hour. To find out if a certain integration will get new data more frequently than once per day, read the **Workflow Configuration Setup** doc for that particular integration.

## Brand supplied data (BSD)

Our BSD components makes it easy for your business users to provide important information that can be used in data transformations, e.g.: revenue forecasts and SKU attributes.

Business users can provide BSD data either directly through the Daasity app or through a set of standard Google Sheets that we set up for you at the time of account creation. Then Daasity will import that data into the `bsd` schema in your data warehouse. [Learn more about BSDs here](broken://pages/oHvwJ3b4pFzgnjSSOYnb).


# 3- Adding Brand Supplied Data (BSD)

You can enrich your data with the Brand Supplied Data Sheet by adding supplemental data and modifying existing data. You can update your BSD Sheet at anytime.


# Monitoring Your BSD Progress

You can track your BSD progress to ensure your data is enriched.

## Account Health Dashboard

Monitor how much of your Brand Supplied Data is enhanced&#x20;

<figure><img src="/files/W6zmYJHR2hXWjuhas0rS" alt=""><figcaption><p>Account Health Dashboard</p></figcaption></figure>

<figure><img src="/files/Pm9DcMABYMCNQ2wtsxCE" alt=""><figcaption><p>Revenue Plan Data</p></figcaption></figure>

<figure><img src="/files/9oZf2A4vqQIYtcR5AmFz" alt=""><figcaption><p>SKU Hierarchy</p></figcaption></figure>

<figure><img src="/files/1pomw7do2TxbVlqII5uv" alt=""><figcaption><p>Clean up Blank SKUs</p></figcaption></figure>

<figure><img src="/files/niUEySZ0tBbno3HRT9G1" alt=""><figcaption><p>Shipping and Fulfillment Costs</p></figcaption></figure>

<figure><img src="/files/Y8dkZKoEno9zlSOOKR99" alt=""><figcaption><p>SKU Costs</p></figcaption></figure>


# Philosophy

This page provides an outline of the general Daasity Data Model, both our Unified Schemas and Data Marts, why we designed the data model this way and how our transformation layer works

## The Daasity Philosophy

### Our Mission: Turn Your Data Into Decisions

At Daasity, we believe that every commerce brand deserves enterprise-level analytics without enterprise-level complexity. Our philosophy is built on three core principles that guide everything we do:

**1. Unified Truth** - One source of truth across all your channels\
**2. Future-Proof Architecture** - Built to adapt as your business evolves\
**3. Actionable Intelligence** - Data that drives decisions, not just dashboards

***

### 🎯 Why Daasity Exists

#### The Problem We Solve

Modern commerce brands operate across multiple channels, platforms, and systems. Your data lives in dozens of places:

* E-commerce platforms (Shopify, BigCommerce, Magento)
* Marketplaces (Amazon, Walmart, Target)
* Marketing channels (Meta, Google, TikTok, Email)
* ERP and inventory systems
* Customer service platforms

**The Challenge:** Each system speaks its own language, uses different metrics, and tells a different story. Teams waste countless hours reconciling data, building fragile reports, and arguing about which numbers are "right."

#### Our Solution

Daasity creates a **Unified Commerce Data Platform** that:

* Automatically ingests data from 50+ sources
* Normalizes it into a consistent, reliable format
* Delivers insights through intuitive dashboards and reports
* Activates data directly in your marketing channels

**The Result:** Your team spends time acting on insights, not searching for them.

***

### 🏗️ The Daasity Data Architecture

#### Philosophy: Build Once, Use Forever

Our data model is designed with a fundamental philosophy: **"Change is inevitable, rebuilding is not."**

When platforms update their APIs, when you add new sales channels, or when your business model evolves, your analytics shouldn't break. That's why we built a three-layer architecture that isolates changes and protects your reporting.

#### The Three-Layer Model

<figure><img src="/files/XPeSIKk06l7PC6rIjALs" alt=""><figcaption><p>Daasity Data Model</p></figcaption></figure>

**Layer 1: Extractor Schemas**

*Raw data, exactly as it comes from the source*

The extractor layer creates an exact replica of your source data in our data warehouse. This means:

* **No data loss** - We capture everything, even fields you don't use today
* **Full history** - Historical data is preserved even if the source changes
* **Debugging capability** - You can always trace back to the original data
* **API independence** - When APIs change, only this layer needs updating

**Example:** Your Shopify data lands here exactly as Shopify structures it, with all custom fields, metafields, and platform-specific attributes intact.

**Layer 2: Unified Schemas (Normalization)**

*The magic layer where everything becomes consistent*

This is the heart of Daasity's innovation. We transform disparate data sources into unified models that represent universal business concepts:

**Core Unified Schemas:**

* **Unified Order Schema (UOS)** - Every order from every channel in one consistent format
* **Unified Customer Schema (UCS)** - Single customer view across all touchpoints
* **Unified Product Schema (UPS)** - Consistent product catalog across channels
* **Unified Marketing Schema (UMS)** - Normalized marketing data across all platforms

**Why This Matters:**

* **Platform agnostic** - A Shopify order and an Amazon order look the same
* **Future-proof** - Built to handle capabilities platforms don't even have yet
* **Consistent metrics** - Revenue is calculated the same way everywhere
* **Multi-everything ready** - Multi-warehouse, multi-currency, multi-brand support

**Real-World Example:** Our Unified Order Schema supports multi-shipment/multi-recipient orders even though most platforms don't. When Shopify adds this feature (or when you switch to a platform that has it), your reports don't change—we just update the transformation logic.

**Layer 3: Data Marts & Reporting Schemas**

*Optimized for analysis and decision-making*

The reporting layer transforms unified data into purpose-built data marts optimized for specific business questions:

**Specialized Data Marts:**

* **Executive Data Mart** - High-level KPIs and trends
* **Marketing Analytics Mart** - Attribution, CAC, LTV, channel performance
* **Operations Mart** - Inventory, fulfillment, supply chain metrics
* **Customer Intelligence Mart** - Segmentation, cohorts, behavior analysis
* **Product Performance Mart** - SKU analytics, category trends, pricing

**Design Principles:**

* **User-specific views** - Marketers see marketing metrics, ops sees operations
* **Pre-calculated metrics** - Complex calculations happen once, not every query
* **Business logic layer** - Your custom rules and definitions live here
* **Self-service ready** - Users can explore without breaking anything

***

### 💡 Core Design Principles

#### 1. **Resilience Through Isolation**

Changes in source systems affect only the extractor layer. Your reports and dashboards remain stable even when platforms update their APIs or data structures.

#### 2. **Semantic Consistency**

We maintain consistent definitions across all data sources. "Revenue" means the same thing whether it comes from Shopify, Amazon, or your ERP.

#### 3. **Incremental Complexity**

Start simple with pre-built templates, then gradually customize as your needs grow. You don't need to understand the entire model to get value.

#### 4. **Extensibility by Design**

Every component is built to be extended:

* Add custom fields to any schema
* Create calculated metrics specific to your business
* Build custom data marts for unique use cases
* Integrate proprietary data sources

#### 5. **Performance at Scale**

* **Columnar storage** for fast analytical queries
* **Incremental processing** to minimize compute costs
* **Smart caching** for frequently accessed data
* **Parallel processing** for large datasets

***

### 🔄 The Transformation Philosophy

#### ELT Over ETL

We deliberately chose an **ELT (Extract, Load, Transform)** approach over traditional ETL:

**Why ELT?**

* **Preserve raw data** - Never lose information in transformation
* **Flexible transformations** - Change business logic without re-extracting
* **SQL/Python based** - Use familiar tools, not proprietary languages
* **Version control** - Track changes to transformation logic
* **Testing friendly** - Validate transformations before deploying

#### Transformation Rules

Our transformations follow strict principles:

1. **Idempotent** - Running twice produces the same result
2. **Auditable** - Every transformation is logged and traceable
3. **Reversible** - Can rebuild from raw data at any time
4. **Testable** - Automated tests ensure quality
5. **Documented** - Clear documentation for every transformation

***

### 🚀 Practical Benefits

#### For Business Users

**Before Daasity:**

* "Which report has the right numbers?"
* "Why don't these totals match?"
* "Can we add Instagram data to this report?"
* "The dashboard broke when we upgraded Shopify"

**With Daasity:**

* ✅ Single source of truth everyone trusts
* ✅ Consistent metrics across all reports
* ✅ New channels integrate seamlessly
* ✅ Reports that don't break with platform changes

#### For Technical Teams

**Before Daasity:**

* Maintaining brittle ETL pipelines
* Rebuilding reports for each new data source
* Dealing with API changes and breaking integrations
* Managing complex transformation logic

**With Daasity:**

* ✅ Managed pipelines with 99.9% uptime
* ✅ Unified schemas that work across sources
* ✅ API changes handled by Daasity team
* ✅ SQL-based transformations you can customize

#### For Growing Brands

**Starting Out:**

* Use pre-built templates and standard metrics
* Focus on key KPIs without complexity
* Get insights in days, not months

**Scaling Up:**

* Add new channels without rebuilding
* Customize metrics for your business model
* Create team-specific dashboards
* Maintain historical continuity

**Enterprise Level:**

* Multi-brand/multi-region support
* Custom data marts for unique needs
* API access for embedded analytics
* Advanced ML/AI capabilities

***

### 📚 Learning More

#### Technical Deep Dives

* **\[Unified Schemas Documentation]** - Detailed schema specifications
* **\[Data Marts Guide]** - Understanding our reporting layer
* **\[Transformation Logic]** - How we process your data
* **\[API Reference]** - For custom integrations

#### Business Resources

* **\[ROI Calculator]** - Quantify the value of unified data
* **\[Implementation Guide]** - Get up and running quickly
* **\[Best Practices]** - Learn from successful customers
* **\[Case Studies]** - Real-world success stories

***

### 🤝 Our Commitment

#### To Your Data

* **Security First** - SOC 2 Type II certified, GDPR compliant
* **Privacy Protected** - Your data is never shared or sold
* **Always Accessible** - Export your data anytime
* **Fully Auditable** - Complete transformation lineage

#### To Your Success

* **White-Glove Onboarding** - We help you get set up right
* **Continuous Innovation** - Regular updates and new features
* **Community Driven** - Your feedback shapes our roadmap
* **Success Partnership** - Your growth is our growth

***

### 💬 Philosophy in Practice

> "We used to spend 20 hours a week just preparing reports. Now we spend that time acting on insights. Daasity didn't just give us better data—it gave us our time back."\
> *- Head of Analytics, $50M DTC Brand*

> "When we added Amazon as a channel, our existing reports just worked. No rebuilding, no consultants, no delays. That's when I understood the power of Daasity's approach."\
> *- CFO, Multi-Channel Retailer*

> "The unified schema concept seemed complex at first, but once I saw how it protected us from platform changes, I was sold. We've upgraded Shopify twice and never lost a single report."\
> *- Data Engineer, Fashion Brand*

***

### 🚀 Ready to Experience the Daasity Difference?

Understanding our philosophy is just the beginning. See it in action:

**\[Schedule a Demo]** | **\[Start Free Trial]** | **\[Technical Architecture Review]**

***

### Frequently Asked Questions

**Q: How is this different from a traditional data warehouse?**\
A: Traditional warehouses just store data. Daasity provides the entire ecosystem: ingestion, normalization, transformation, visualization, and activation—all maintained and updated for you.

**Q: What if I have custom data sources?**\
A: Our unified schema approach extends to custom sources. We'll help you map your proprietary data into the unified model.

**Q: Can I write my own SQL?**\
A: Absolutely. You have full SQL access to create custom reports, metrics, and even entire data marts.

**Q: How do you handle data quality?**\
A: Multiple layers of validation, automated testing, and anomaly detection ensure data quality at every step.

***

**Next Steps:**\
**\[Platform Overview]** → See how it all works together\
**\[Getting Started]** → Begin your Daasity journey\
**\[Technical Docs]** → Dive deep into the architecture


# Data Integrations


# Overview

Introduction to Daasity integrations and data sources.

## Overview: Daasity Integrations & Data Sourrces

Integrations are the lifeblood of the Daasity platform – the more (relevant ones) you connect, the fuller the picture of your business performance. With this overview, you should feel confident in adding new data sources and understanding how Daasity handles your data end-to-end, from extraction to insight. This overview will cover the types of integrations (API-based vs. file-based), and what to expect in terms of data flow and dashboards once connected.

### What is a Daasity Integration?

An integration in Daasity is a connection to an external data source that pulls data into your centralized data warehouse. Daasity currently supports many common data sources used by DTC brands, including:

* Retail/Wholesale Data: Syndicated data (Nielsen/SPINS) and retail portals (Target, ULTA, Whole Foods) are often CSV files.
* E-commerce Platforms: Shopify, BigCommerce, Magento, Amazon Seller Central, Walmart Marketplace, etc.
* Marketing & Advertising: Facebook Ads, Google Ads, TikTok Ads, Pinterest Ads, Snap (Snapchat) Ads, Google Analytics, Klaviyo (email), Attentive (SMS), etc.
* Customer Service/CRM: Gorgias, Zendesk, etc.
* Reviews & Loyalty: Yotpo, Okendo, LoyaltyLion, etc.
* Custom Sources: virtually any data that can be provided via a CSV file, Google Sheet, or database connection (Snowflake, Bigquery, Redshift, etc.) can be integrated as well.

{% hint style="info" %}
If you ever suspect data is stale, please check your notifications and integration status- and then [contact support](mailto:support@daasity.com) for further assistance.
{% endhint %}

### Integration Types

Daasity handles integrations broadly in three primary ways: API and database connections, and CSV file uploads.

#### API-Based Integrations:&#x20;

* These are sources where Daasity connects through an Application Programming Interface (API) provided by the platform. For instance, Shopify provides an API to fetch orders, products, customers; Facebook Ads has APIs for fetching ad spend, clicks, etc.&#x20;
* When you set up an API integration in Daasity, you usually authenticate (provide an API key, OAuth token, or login credentials) so Daasity can programmatically query that system’s data. Daasity’s backend will regularly call the API to get new data (like new orders since last sync, yesterday’s ad spend metrics, etc.). API integrations are convenient because once set up, the data flow is automatic. They often allow near real-time or at least daily updates.&#x20;
* Most of Daasity’s standard digital analytics connectors are API-driven. Although they are “set and forget”, it's important to monitor your in-app[Notifications](/technical-docs/notifications) for warnings of any issues with the integration status.

#### CSV File-based Integrations:&#x20;

* These are used when a platform doesn’t have a readily available API, or when data comes from CSV files, which is common for Wholesale and Retail data sources.&#x20;
* Examples might include retailer portals where you download CSV reports, or custom internal data that you export from a database to a file.

#### Database Connections

* **Data Source** — the parent entity that stores your database credentials (e.g., connection details for a PostgreSQL or NetSuite database). Data Sources appear in a dedicated **Data Sources** section at the bottom of the Integrations page, separate from API-based integrations.
* **Table Replicators** — child entities linked to a Data Source, each of which replicates a single table from your source database into your Daasity warehouse. Multiple Table Replicators can be created under a single Data Source.

***

### Setting Up a New Integration (General Steps)

To add a new data source in Daasity, follow these broad steps (the specifics might differ slightly by source, but Daasity’s help center has source-specific instructions too):

1. Navigate to the Data Section (data icon) and click "New Integration" button in the top-right.
2. **Select the Integration you want to setup:** You’ll see icons or a dropdown of sources (Shopify, Google Ads, etc., plus generic ones for database and custom google sheet setups). Choose the one you want to add.
3. Authentication & Configuration:
   * **For API sources:** a form will appear asking for credentials. For example, Shopify requires your store URL and an API key/password (or nowadays, perhaps a private app token). Google or Facebook might redirect you to log in via OAuth to grant Daasity access. Fill in the required fields (Daasity’s UI will guide what’s needed). Some sources also ask for configuration like *date range for initial import* or *specific subsets of data* (not common, but e.g., if an API is extremely large, maybe you choose how much history to pull).
   * **For CSV-file sources:** reach out to the support team (<support@daasity.com>) to configure a new CSV-based data source.
   * **For database connections:** database integrations follow a two-step flow. First, create a Data Source (found in the dedicated "Data Sources" section at the bottom of the Integrations page) — this stores your database credentials. Then, from within the Data Source, create one or more Table Replicators, each of which syncs an individual table from your source database into your Daasity warehouse. See the Database Replicators guide for full setup instructions.

***

### After Integration - What’s Next?

* **Data Harmonization:** Your data will be normalized into Daasity’s Unified Schemas (like Unified Order Schema, Unified Marketing Schema) will contain combined data. For example, if you have multiple marketing channels, unified spend and performance metrics across them. This allows cross-channel analysis easily.&#x20;
* **Historical Data Load:** Upon saving the integration setup, Daasity will typically commence an initial load. Expect that first load to take some time if there’s a lot of history (for instance, pulling 5 years of Shopify orders could take a while). Some integrations might limit history by default (e.g., Facebook Ads might pull last 2 years by default). If you need more, check Daasity docs or ask support.
* **Verify Data & Dashboards:** Once the integration says it’s connected and data loaded, verify that you see the data. You can go to an Explore that uses that data (for example, after connecting Klaviyo, go to a “Klaviyo Campaign” explore or dashboard). Often, Daasity’s templates include Integration Dashboards showing that source’s data – open those and ensure numbers make sense. For API sources, you can cross-check a known value (e.g., yesterday’s orders in Shopify vs Daasity’s orders for yesterday should match, or total ad spend last month in Facebook vs what Daasity shows).

***

* [**Ongoing Sync (Workflows)**](/technical-docs/workflows-and-scheduling)**:** Daasity will automatically schedule a daily workflow to fetch new data. Whether the source data updates daily, weekly or monthly may vary, but whenever it is available, it will be in your reports the next morning! Most sources update daily, some update weekly or monthly as the data is available. Shopify runs hourly.The exact schedule can vary; Daasity’s integration specs often mention how often data refreshes.
* [**Integration Errors (Notifications)**](/technical-docs/notifications): If credentials expire (like a token refresh fails) or an API changes, an integration might break. Daasity typically notifies you (maybe via email or a notice in the app) if an extraction fails. For file integrations, if a file didn’t arrive on schedule or a format changed, it might error. You can monitor integration status in the app’s data section. For database datasources, check the dedicated Data Sources section at the bottom of the Integrations page — each datasource card shows its current status. If something is red or inactive, click in to troubleshoot (it might prompt for re-auth or show an error message). The Daasity support team is also there to help resolve issues.
* **Special cases:** Some APIs have limits on how far back you can fetch or how heavy the calls are when doing the historical loads. Others might have a specific day of the week they will update each period- for these and all other fun and squirrely details, always check the particular [Integration Setup Guides & Specifications](/getting-started/quickstart-guides),

{% hint style="info" %}
Daasity’s [integration specs](/core-concepts/data-integrations/setup-guides) will detail any limitations.
{% endhint %}

***

### Useful Links for Further Info

* As mentioned, sometimes things go wrong with API-baed integrations, and credentials need to be re-entered, so remember to setup your [notifications](/technical-docs/notifications).
* [Integration Setup Guides & Specifications](/getting-started/quickstart-guides) - details on how Daasity replicates data from each source (which tables, how often, any known issues like “Google Ads doesn’t include search query data” or such).


# Popular Setups

Below are three common “starter” configurations, along with suggested BSDs that enhance reporting and analysis for each. These setups are intended to help you get value quickly by connecting the core systems most brands rely on. Think of them as suggested starting points — the right setup for your company will depend on your unique needs, and additional integrations or BSDs should be layered in as your business grows. **The ultimate goal is for Daasity’s data models to incorporate all of your data and context, so that our analytics can deliver actionable, relevant insights and recommendations.**

***

### 1. Omnichannel Setup

{% hint style="info" %}
Best for: Brands selling across multiple channels and needing a consolidated performance view.
{% endhint %}

Core integrations:

* Shopify (direct-to-consumer eCommerce)
* Amazon (marketplace sales)
* 1+ retailer portals (e.g., Kroger, Whole Foods)
* 1+ syndicated data sources (SPINS, NielsenIQ)

Recommended BSDs to incorporate:

* Retail Doors/Market Selector BSDs – control which doors and syndicated markets are included in dashboards. *Contact <support@daasity.com> to apply these changes.*
* Product Attributes BSDs – align SKUs across channels for consistent reporting.

***

### 2. Digital Setup

{% hint style="info" %}
Best for: Digital-first brands needing acquisition, retention, and margin visibility.<br>
{% endhint %}

Core integrations:

* Shopify
* Amazon
* GA4
* Meta Ads
* Google Ads
* Klaviyo / Recharge

Enterprise add-on integrations:

* ERPs (Netsuite) for product cost, inventory, margin data<br>

Recommended BSDs to incorporate:

* Marketing Spend BSD – map spend by channel for ROAS reporting.
* Marketing Budget BSD – track budgets vs. actuals.
* E-commerce Revenue Plan BSD – set and track against revenue targets.
* Other Ecom BSDs – discount codes, custom attribution mappings.

***

### 3. Retail Setup

{% hint style="info" %}
Best for: Brands scaling in retail and wholesale, managing syndicated data and promotional ROI.
{% endhint %}

Core integrations:

* Syndicated data (SPINS, NielsenIQ)
* Whole Foods Portal
* Kroger Portal
* UNFI/KeHE distributor data

Enterprise add-on integrations:

* Retailer TPM systems&#x20;
* ERPs (Netsuite) for product cost, inventory, margin data

Recommended BSDs to incorporate:

* SKU Mapping BSDs – unify retailer SKUs with master product catalog.

***

### Notes

* Each BSD listed above is optional but highly recommended for getting the most from Daasity’s unified reporting and analytics. For more, see [Brand Supplied Data (BSD)](/core-concepts/custom-data-and-enrichment/brand-supplied-data-bsd).


# Integration Troubleshooting

When issues arise with an integration, the following steps can help isolate and resolve problems quickly

### Common Causes of Integration Issues

1. Authentication Errors
   * API credentials have expired or been revoked.
   * User permissions in the source platform have changed.
2. Schema or Feed Changes
   * Source platforms (e.g., Shopify, Meta Ads, Nielsen) update their field structures.
   * Retail partners change POS or inventory export formats (affecting URS) .
   * Syndicated providers (URMS) adjust category definitions or ACV/TDP logic .
3. Data Volume or API Limits
   * Large historical pulls may exceed API rate limits.
   * Daily syncs may be throttled or partially complete.
4. Manual Upload Errors (CSV-based BSDs)
   * Incorrect file naming conventions.
   * Misaligned date formats or missing required fields.

### Manual Upload Errors (CSVs & Google Sheets)

* Incorrect file naming conventions.
* Misaligned date formats or missing required fields.
* Invalid formatted files (look for missing, misplaced, or non-quoted field separators, incomplete lines, or incorrect data types - eg: a string in a numeric field)&#x20;

### If issues persist after these steps, open a ticket with Daasity support and Include:

* The affected integration(s).
* The time frame of missing or inconsistent data.
* Screenshots from both the source system and Daasity dashboards.
* If the affected integration is an email webhook, attach the file you intended to submit originally

### Troubleshooting Workflow

1. Check the Account Health Dashboard

   Confirm whether the integration is failing globally (affects all accounts) or only in your workspace.
2. Validate in Source System

   Log into the original platform (e.g., Shopify, Google Ads, Nielsen portal) to confirm that the data is available and matches what Daasity attempted to ingest.
3. Re-run or Re-upload
   * If the error appears to be a mismatch between the raw data and the reporting tables, work with [Daasity support](mailto:support@daasity.com) to trigger a re-run of the sync.
   * For CSV-based uploads, reformat and re-upload the file, ensuring it matches the documented schema.
4. Escalate to Support

   If issues persist after these steps, open a ticket with [Daasity support](mailto:support@daasity.com) and Include:

   * The affected integration(s).
   * The time frame of missing or inconsistent data.
   * Screenshots from both the source system and Daasity dashboards.


# Custom Data Inputs

Daasity supports custom data inputs (Databases, CSV files, SFTP and custom API connections are all supported), and with minimal code by your technical team (or ours), these custom data sources can be integrated into the [Unified Data Schemas](/core-concepts/data-models/unified-schemas), breaking down data silos.


# Azure SQL Database

Azure is a cloud computing platform operated by Microsoft for database application management via Microsoft-managed data centers.

## Integration Details

Daasity connects to Azure SQL databases via an ODBC connector.  Some key notes on the Daasity method for data replication:

* A user will be needed that has read permissions in the Azure SQL database.  This user will access via ODBC and execute the data replication
* Data replication is performed by running SQL queries against the Azure SQL database
* The DDL is read at time of initial setup and sets the definitions for all the tables.  If tables are added, deleted or modified please contact [Daasity Support](mailto:support@daasity.com)
* Once connected, your Azure SQL datasource will appear in the **Data Sources** section at the bottom of the Integrations page. From there, you can create and manage individual **Table Replicators** to sync specific tables into Daasity.


# BigQuery Datasource

## Purpose of this integration

The BigQuery Datasource integration isn't technically an integration — it's a utility that will be used by other integrations. It establishes credentials that will be used to access a BigQuery project that contains data you want to extract into Daasity.

Once you have a BigQuery Datasource set up, you will use it as the connection source for one or more BigQuery Table Replicators, where the actual data extraction happens."

Once you've set up a BigQuery Datasource, it will appear in the Datasource dropdown when creating a BigQuery Table Replicator:

<figure><img src="/files/Ieze3MPJh29BRSxOHwSI" alt=""><figcaption></figcaption></figure>

## Setup Instructions

<details>

<summary>Step 1: Create a service account for Daasity</summary>

In order for Daasity to be able to extract your GA4 BigQuery data, we need you to create a service account that we can use to give us read access.

If you haven't already created a service account for Daasity, you can start by navigating to <https://console.cloud.google.com/iam-admin/serviceaccounts/create>

In the details section, use whatever name, ID, and description details you prefer:

![](/files/Siao8BryyyFS35LvzBSm)

***

Grant the service account **BigQuery User** and **BigQuery Data Viewer** roles:

![](/files/aUhZdEf4fRHUUwgeHa3h)

***

Granting users access to the service account is entirely optional. This will just dictate what other Google Cloud Platform users can see this service account:

![](/files/exjmhERwxbY3ESAaPQub)

Finally, click **DONE**.

</details>

<details>

<summary>Step 2: Generate a service account key for the Daasity service account</summary>

The service account key will act as a password that will allow the Daasity service account access to your BigQuery data.

To generate it, first navigate to <https://console.cloud.google.com/iam-admin/serviceaccounts>

Then, click on the email of the service account you created in the previous step:

![](/files/3PIfoIIbTO7CGfPHx3EX)

***

On the next page, navigate to the **KEYS** tab:

![](/files/HPnN98OG3tqTlU18nYCq)

***

Click **ADD KEY** and choose **Create new key**:

![](/files/eD7yxU71o6Vb2xS5UNpq)

***

In the pop-up, choose **JSON** and click **CREATE**:

![](/files/WP0RdxkyRE1IIUf5utMo)

This should generate a .json file that will be downloaded to your computer. You will use this file in the next step.

</details>

<details>

<summary>Step 3: Add the service account key to the BigQuery Datasource</summary>

In this step, you're going to add the service account and key information you generated in the previous step in the **General** section of the integration settings:

![](/files/JiFLC8v5zm2E91SuJKf8)

**Name:** Enter the name that you will want to see in the UI and Datasource dropdowns elsewhere

**Email**: The service account email

**JSON Service Key**: Enter the info from the JSON key you generated in the previous step.

You have 2 choices of how to do this:

A. Drag the file you downloaded in Step 4 onto the screen where it says **Drag file here**, or

B. Open the file you downloaded in Step 4, copy the contents, click the **Enter Key** tab, and paste the contents

Once you have filled out all of this info, click **CREATE** in the upper right corner. You will now be able to select this datasource when creating new BigQuery Table Replicators.

</details>


# Database Replicators

Sync external database tables into your Daasity warehouse with configurable, single-table replicators.

**Supported source databases:** Azure, BigQuery, SQL Server, MongoDB, MySQL, NetSuite, PostgreSQL, Redshift, Salesforce Service Cloud (via SOQL), and Snowflake (used mostly for non-matching regions). SSH connections are supported for external databases that require it. Allowlisting of Daasity servers is also supported.

**Supported destination warehouses:** Snowflake, Redshift, and BigQuery.

Each table replicator syncs data from a single source table. Aliases are not supported at the source level. Certain special data types and features — including BigQuery Star Tables and Arrays — are also unsupported. Joins are partially supported; see Important Notes on SQL Query Statement below.

Syncs run at configurable intervals using Daasity custom workflows. Note that depending on data volume, very high-frequency intervals (e.g., hourly syncs of tens of millions of rows) may not be attainable.

***

### Supported Sources and Destinations

| Source Databases                | Destination Warehouses |
| ------------------------------- | ---------------------- |
| Azure                           | Snowflake              |
| BigQuery                        | Redshift               |
| SQL Server                      | BigQuery               |
| MongoDB                         |                        |
| MySQL                           |                        |
| NetSuite                        |                        |
| PostgreSQL                      |                        |
| Redshift                        |                        |
| Salesforce Service Cloud (SOQL) |                        |
| Snowflake                       |                        |

***

### How Table Replicators Are Organized

Database replication in Daasity is organized around two entities:

* **A Data Source** — the parent entity that stores your database credentials and connection details (host, port, username, password, etc.). One Data Source represents one database connection.
* **Table Replicators** — child entities linked to a Data Source, each responsible for replicating one table from the source database into your warehouse.

**Finding your table replicators:** On the Integrations page, scroll past the API-based integrations to find the **Data Sources** section at the bottom. Each Data Source card shows how many table replicators are attached to it (e.g., "22 table replicators"). Click a Data Source card to open its detail page, where all linked table replicators are shown in a searchable, sortable table.

{% hint style="warning" %}
Database table replicators no longer appear in the "Activated Integrations" list alongside API-based integrations — they live exclusively in the Data Sources section.
{% endhint %}

***

### Creating a Table Replicator

You can create a new table replicator in two ways:

* **From the Integrations page:** Click **New Integration** in the top right → select a database type (e.g., NetSuite Database, PostgreSQL Database) → fill out the creation form.
* **From a Data Source detail page:** Click **Create Table Replicator** in the Table Replicators card. The Data Source field will be pre-filled for you.

{% hint style="info" %}
Setting up a table replicator is a single-form process. Fill in each section, then click **Create**. Once created, most configuration fields are locked — see the Editing section below.
{% endhint %}

**Step 1: Name Your Table Replicator**

Choose a descriptive name (e.g., `PRODUCTION DB - ORDERS`). This is a display label only — it has no validation against actual data, so be thoughtful with naming.

<figure><img src="/files/RZIyc5AAbHkbVVxsUBT3" alt=""><figcaption></figcaption></figure>

**Step 2: Select Your Source**

* **Data Source** — Select the Data Source that connects to the database containing your target table. If creating from a Data Source detail page, this will already be filled in.
* **Source Schema** — The schema in the source database where your target table lives. Defaults to `public`.
* **Source Tablename** — The exact table name in the source database. The system will validate existence when you click Create.

<figure><img src="/files/BEmOc7pEvltQzzeFSvtG" alt=""><figcaption></figcaption></figure>

**Step 3: Configure Your Destination**

* **Destination Schema** — The schema in your warehouse where replicated data will land. Will be created if it doesn't exist. Must be a valid schema name (no special characters except underscores; cannot start with a number).
* **Destination Tablename** — The warehouse table where data will be written. Will be created if it doesn't exist. The process will fail if a table with that name already exists.

<figure><img src="/files/Tol50w08h4DWc3sYRrMP" alt=""><figcaption></figcaption></figure>

**Step 4: Choose a Sync Action**

Select how data is loaded into the destination table:

* **Full Data Replacement (Truncsert)** — Deletes all existing records before loading. Use when the source table is small, you don't need historical data, or you can't define a primary key.
* **Update/Insert (Upsert)** — Keeps existing records, inserts new ones, and updates records matched by the sync key. Use for incremental loads that capture updates to previously loaded records.
* **Append Only** — Keeps existing records and loads only new ones. Use for incremental loads when you don't need to capture updates.
* **Do Not Remove Duplicates** — Used for rollup tables where repeating entries need their own rows. Creates duplicate rows when applicable. NetSuite System Notes are a common example.

<figure><img src="/files/0bpFtwhCcUwKEAfKIQaX" alt=""><figcaption></figcaption></figure>

**Step 5: SQL Query Statement (Optional)**

The SQL Query Statement field filters how source data is extracted. Enter a valid SQL statement whose result set contains only columns present in the selected source table.

<figure><img src="/files/5zE5fg6RpclaOFfVhjV0" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
**Important:** The SQL you write at creation time is permanent. It cannot be changed after the table replicator is created. Write and validate your query carefully before clicking Create — the Test Query feature (see below) can help you confirm it works before committing.
{% endhint %}

{% hint style="danger" %}
**Important Notes on SQL Query Statement:** *Aliases are not permitted.* Columns are validated against the source table's column set. Aliases will result in an error. If aliases are needed, create a view at the source and sync the view instead.
{% endhint %}

```sql
-- Will NOT work:
SELECT order_name AS ordern FROM orders
SELECT (order_name || order_id) AS compound_name FROM orders
SELECT (start_date + INTERVAL '3 hours') AS gmt_time FROM orders
```

{% hint style="info" icon="memo-circle-info" %}
*Joins are partially supported.* You can use joins or subqueries to filter your result set, as long as no columns from the joined table appear in the SELECT.
{% endhint %}

```sql
-- Will work (only source table columns in SELECT):
SELECT t.order_id FROM transactions t
JOIN transaction_types tt ON t.type_id = tt.id
WHERE tt.type_name = 'refund'

-- Will NOT work (includes column from joined table):
SELECT t.order_id, tt.type_name FROM transactions t
JOIN transaction_types tt ON t.type_id = tt.id
WHERE tt.type_name = 'refund'
```

{% hint style="success" %}
*Use `{{start_date}}` and `{{end_date}}` for date-scoped extractions.* This is strongly encouraged and required to load history on Update/Insert replicators. Daasity injects date values at runtime based on the workflow type.
{% endhint %}

```sql
SELECT order_id FROM orders
WHERE updated_at BETWEEN {{start_date}} AND {{end_date}}
```

Lookback window behavior:

* **Daily or Custom Workflows** — The lookback window runs from the current time back to 12:00 AM of the previous day.
* **History Workflows** — Multiple queries are executed, one per day in the selected range. Concurrency is limited to avoid exhausting available connections.

Failure to include `{{start_date}}` and `{{end_date}}` on Update/Insert replicators will result in a complete re-sync on every execution — a common cause of very long run times.

***

### **Test Query**

Before running a full sync, you can validate your SQL configuration using the Test Query feature. This is available on all database table replicator detail pages, **except MongoDB and Salesforce Service Cloud**.

To run a test query:

1. Open the table replicator detail page (click the replicator name from the Data Source detail page).
2. Scroll past the SQL Query section to find the **Test Query** card.
3. Click **Run Test Query**.
4. A dialog appears asking for any parameters used in the query (start date, end date, max ID, max date). Fill these in as needed.
5. Submit. The system connects to the source database and executes the query, showing progress ("Connecting to database…", "Executing query…").
6. Results display: row count, execution time, and column names.
7. Optionally click **Download Results (CSV)** to retrieve a sample of up to 5 rows.

{% hint style="info" icon="lightbulb" %}
Use this to catch wrong table names, missing columns, connection problems, or SQL errors before committing to a full data load.
{% endhint %}

***

### **Editing a Table Replicator**

After a table replicator is created, only the following fields can be changed:

* **Name** — The display label for the replicator.
* **Sync Action** — Full Data Replacement, Update/Insert, or Append Only.

Everything else is locked at creation:

* SQL Query Statement
* Source schema and table
* Destination schema and table
* "Do Not Remove Duplicates" setting

<figure><img src="/files/c2upZr3tCooqxvr1qkae" alt=""><figcaption></figcaption></figure>

{% hint style="info" icon="lightbulb" %}
If you need to change the SQL, source table, or destination table, create a new table replicator. This design prevents accidental changes that could break active data pipelines.
{% endhint %}

***

### **Deleting a Table Replicator**

To delete a table replicator, open its detail page, click the **▾** dropdown arrow next to the Edit button, and select **Delete**.

<figure><img src="/files/W7L3mfLBaO3H45mZhyzp" alt=""><figcaption></figcaption></figure>

A confirmation dialog appears with three options for what happens to the destination table in your warehouse:

| Option                  | What happens                                                                                                                                                                                            |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Keep data** (default) | The table replicator is removed. The destination table in the warehouse is left untouched — data remains accessible.                                                                                    |
| **Drop table**          | The table replicator is removed AND the destination table is permanently deleted from the warehouse.                                                                                                    |
| **Rename table**        | The table replicator is removed and the destination table is renamed with a `_deleted_` suffix and timestamp (e.g., `orders_deleted_20260325120000`). Data is preserved but clearly marked as inactive. |

<figure><img src="/files/QoN4THPHjc7Tug2KcrVT" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
To confirm deletion, type the exact destination table name into the text field in the dialog. The Delete button remains disabled until the name matches exactly.
{% endhint %}

***

### **Troubleshooting and Recommendations**

* **Extraction duration is tied to source table size and query complexity.** Optimize your queries wherever possible. Some databases (e.g., NetSuite) struggle with date manipulation — test your queries in DataGrip or a similar tool to gauge performance before deploying.
* **Avoid unscoped Truncsert or Upsert operations on large tables.** Without `{{start_date}}` and `{{end_date}}`, a full table re-sync runs on every workflow execution. If no date field is available, consider the Max ID approach (contact Daasity support to configure).
* **`connection reset by peer` error** — Ensure the timeout settings on the source database are large enough to keep a connection open for the full duration of the extraction.
* **`killed` error** — Contact the Daasity support team.
* **BigQuery Star Tables are not directly supported.** Create a view to translate them into plain tables that the extractor can work with.
* **JSON fields are not supported.** A common workaround is `TO_JSON(field_name) AS field_name` (since `field_name` already exists in the mappings), but this is not officially supported and results are not guaranteed. These fields are stored as strings in the destination and require parsing during transformation.
* **Aliases can be used for limited transformations** as long as the alias name matches an existing column in the destination table. For example, `SELECT MD5(event_id) AS event_id` will work if `event_id` exists in the destination and data types are compatible.
* **Fewer rows in destination than source?** Check the sync key definition — duplicate sync keys cause rows to be overwritten.


# D​ata File (CSV, XLS)

You can connect Data Files to Daasity by the following the steps on this page.

Step 1: Create a Data Source

Supported Data Sources

* Amazon S3 Buckets
* SFTP Servers (NOT FTP)
* Email Webhook
* Daasity Storage

<figure><img src="/files/ecwCyv7BG6OwuC21nNAy" alt=""><figcaption><p>Data Sources</p></figcaption></figure>

{% hint style="success" %}
To Setup a Data Source Follow These Steps
{% endhint %}

## Step 2: Setup a Data File

Daasity supports the following File Types

* CSV
* XLS

### Click 'New Integration' in the top-right Coner of your Integration Page and Choose your File Type

<figure><img src="/files/zyuUZQhSOKCgndzdFjwx" alt=""><figcaption><p>Choose XLS or CSV</p></figcaption></figure>

{% hint style="success" %}
A Data File is the Definition of the Data within the File as well as where the Data in the File will be Loaded.
{% endhint %}

A Data File is logically broken up into two parts **(presented as 1 in the UI)**:

* Source Information
* Destination Information
* File Information

### Source Information

The "Source Information" are details about the 3rd party service that Datafile will connect to, to access and extract data from files.

The "Source Information" consists of the following:

* Data File Source - the data source "storage space"
* Data File Path/Name - a file / folder path to your specific files
* Filename Date Pattern - an *optional* file pattern to help load data incrementally by day

<figure><img src="/files/qfdFG4WXI6b6pHwoDtKd" alt=""><figcaption><p>Source Information</p></figcaption></figure>

### Data File Source

Here you will select the Datasource that you have either just created or previously created that will be used with the Data File you're setting up.&#x20;

{% hint style="success" %}
This Datasource has the details on how to connect to the 3rd party source so we can extract the CSV/Excel files.
{% endhint %}

### Data File Path/Name

The "Data File Path/Name" is the path where the file(s) are located on the Datasource.

Examples:

* If the CSV/Excel files we want to process are located on S3 in the rocket-main/path/to folder, the path that we'd enter would be: path/to. We omit the bucket-name (rocket-main in this case) from the path.
* If the CSV/Excel files we want to process are located in the path/to folder, the path that we'd enter would be: path/to.
* If the CSV/Excel files we want to process are located in the "root" folder, then we can not specify a path, but should specify the file extension \*.csv

### File Date Pattern

The **Filename Date Pattern** allows you to select the date pattern for the date that is added to the CSV filename (by you or your system).  **Daasity uses this to parse the date from the filename.**

## Step 3: Buid Field Mappings

<figure><img src="/files/wXMdLCofqRTwMNLFLtT6" alt=""><figcaption><p>Field Mappings</p></figcaption></figure>

Field mappings are built automatically.&#x20;

To build them automatically that means the app will open a CSV file and fill out all the columns. However, **the system will NOT automatically detect the column data types**.&#x20;

It is up to you to choose the data type.

To Build Field Mappings from a test file on your computer choose the "Upload from your computer" button. **(NOT Recommended)**

To Build Field Mappings (and prove that your data source and path information is working properly)  **choose the Load from Data Source button**. **(Recommended)**

<figure><img src="/files/4aDVfSODdf1AYdJNBX7v" alt=""><figcaption><p>Build Field Mappings-  Load File From Data Source</p></figcaption></figure>

{% hint style="success" %}
The Load from Data Source option is available once a datasource has been chosen and a file path has been added, you will be able to automatically build the field mappings.
{% endhint %}

{% hint style="success" %}
Lastly, there is a Header Row(s) Some CSV/Excel files have headers on multiple rows and this setting this to an integer value (defaults to 1) tells the parser 1) where to find all the headers and 2) where start parsing the actual data within the file.
{% endhint %}

## Step 4: Setup Destination Information

The **Destination Information** (or what is referred to as Data Mapping) are the settings for where the data is to be loaded, and how it should be loaded.&#x20;

The Destination Information is broken up into 4 fields:

* Schema Name
* Table Name
* Data Load Action
* Rollup Table

The **Schema Name** - The schema inside the warehouse that data will be loaded into.&#x20;

The **Table Name** - The name of the table in the destination warehouse.

**Data Load Action - Allo**ws you to specify how you want the data loaded:&#x20;

* **Update/Insert** (update existing records and new records are inserted) records and&#x20;
* **Full Table replacement** will first truncate the table and then reload it.&#x20;

**Rollup Table** - Select this option if you do not want to remove duplicate records. You would use this when there is No sync key and you want to Insert into the Warehouse only.

<figure><img src="/files/nQBTw1UkE9sQxtXaPNfL" alt=""><figcaption><p>Destination Information</p></figcaption></figure>

## Field Mappings

**Field Mappings** - Maps the File Information data from the CSV/Excel file to the columns in the warehouse where it will be loaded.&#x20;

**The Source Field** - Field Name within the CSV/Excel file.&#x20;

**The Destination Field** - Name of the Column in the Warehouse where it will be Saved.&#x20;

**The Format** - Data Type for the Column in the Warehouse where it will be Saved. (Daasity uses this to translate the data to the correct format.)

{% hint style="success" %}
The **Used in Sync Key** is a Checkbox to select the field(s) that will be Used within the creation of the sync\_key.&#x20;
{% endhint %}

**The Date Format** (when a date/timestamp format is selected)  - The expected format that the field is in, when read from the CSV/Excel file. This format is used when transforming the field to ensure the date/timestamp is parsed correctly.

{% hint style="success" %}
Timestamps and dates can be in many different formats, making it harder to ensure it is formatting correctly.
{% endhint %}

<figure><img src="/files/wHFFNGoyMxiwQJmialgQ" alt=""><figcaption><p>Field Mappings</p></figcaption></figure>

## When Files are Processed / Loaded

### Email Webhooks

The **email webhooks** are used when Files need to be emailed to us. **These files are processed immediately, when we received them.**

### S3 and SFTP

Files on S3 or SFTP are processed when a workflow runs and includes the integration. **By default the Integration is added to the Standard Daily workflow.**

### Daasity Storage

Files on Daasity Storage (Daasity's SFTP server) are processed when the daily workflow is run for the account.

## File Processing for both CSV & Excel

### Processing Steps

&#x20;These are the Steps that theFile Processing goes through for a CSV or Excel file:

* If the file is an Excel file, it is read into memory, then converted to the CSV format
* CSV data is then parsed
* Then the data is formatted
* The filename is inspected for a date added to the data as `__filename_date` utilizing the date pattern selected in the Filename date pattern when the integration was created.
* Uploaded to S3 using our JSON Builder
* Then it is queued to load

### Incrementally Process/Loading

When the **Data File Path/Nam**e is set to look at a directory of 1 or more files

When the Daily Report kicks off and the data File goes to S3/SFTP to get the files to process, it looks for Files **that are within the last 2 days**.&#x20;

{% hint style="success" %}
The Processor uses either **the date found in the filename or the date at which the file was added** to the service to determine if it falls within this 2 day window.
{% endhint %}

<figure><img src="/files/48SKqYXhqk5dyjWU75QR" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
There is NOT a current log of files successfully processed to determine what files should be loaded next. That is a feature that will come later.
{% endhint %}

### When the Data File Path/Name is Set to Look at a specific File

**This feature is currently NOT Supported.**&#x20;

All Data File Paths/Names **must contain a date within the filename**, and the **integration must have a matching "Filename Date Pattern" that Matches the pattern used in the File Name**.&#x20;

**For example, you may not set the integration path/name to look for "inventory.csv", instead, it must be something similar to "inventory20213101.csv" with the date pattern then selected as "YYYYDDMM**


# Google Sheet

Our Enterprise Merchants can add Data to Daasity by using a custom G-Sheet

Our Google Sheet integration extracts Data from your Google Sheet and Loads it into your Database. You can either combine it with other Data or expose it directly in Looker. &#x20;

Follow along with us in this short video to setup your Google Sheet integration

{% embed url="<https://www.youtube.com/watch?v=t4svYzPb_G8>" %}
How to Add a Google Sheet
{% endembed %}

## Data Types

* String - this means text or anything you want stored as text
* Number - this is a whole number (integer) and cannot have any decimals
* Decimal - for any values with a decimal
* Currency - if you have value with a currency symbol choose this so we can remove the symbol and store the value as a decimal
* Boolean - either Yes/No or True/False
* Date - if you want to store the value as a date (if it has a time it gets set to midnight)
* Datetime - if you want to store both the time and the date
* Percentage - removes the percent and stores as a decimal

## Working With Google Sheets In Daasity

Once your Google Sheet integration is complete, a table will be generated in Snowflake.

(Presuming you used Daasity's database structure to implement Looker)

There are two ways that Data from a Google Sheet can be used in Looker:

1. Have the data transformed and combined with other data through Daasity ELT process. [*Contact Daasity Support*](mailto:support@daasity.com) *if you need this.*
2. Access the table directly through Looker. You may use Looker to run analysis on the table, or join the table to other tables in your Looker instance.&#x20;

To access a new table that you've created via a Google sheet, first, you must give Looker access to the new table. To do this, run the below script:

```
-- GRANT PRIVILEGES TO THE LOOKER USER SO THEY CAN ACESS DATA
GRANT ALL ON SCHEMA
  calendar,
  drp,
  drp_staging,
  ga,
  shopify,
  ugd,
  uos,
  uos_staging
TO yourbrand_looker
;GRANT ALL ON ALL TABLES IN SCHEMA
  calendar,
  drp,
  drp_staging,
  ga,
  shopify,
  ugd,
  uos,
  uos_staging
TO yourbrand_looker
;
```

<br>

{% hint style="info" %}
Please Reach out to <support@daasity.com> if you need help!
{% endhint %}


# Microsoft SQL Server Database

Microsoft SQL Server is a relational database management system (RDBMS) that supports a wide variety of transaction processing, business intelligence and analytics applications.

## Integration Details

Daasity connects to Microsoft SQL databases via an ODBC connector.  Some key notes on the Daasity method for data replication:

* A user will be needed that has read permissions in the Microsoft SQL database.  This user will access via ODBC and execute the data replication
* Data replication is performed by running SQL queries against the Microsoft SQL database
* The DDL is read at time of initial setup and sets the definitions for all the tables.  If tables are added, deleted or modified please contact [Daasity Support](mailto:support@daasity.com)


# Mongo Database

MongoDB is a source-available cross-platform document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON-like documents with optional schemas.

## Integration Details

Daasity connects to Mongo databases via an ODBC connector.  Some key notes on the Daasity method for data replication:

* A user will be needed that has read permissions in the Mongo database.  This user will access via ODBC and execute the data replication
* Data replication is performed by running queries against the Mongo database and then de-nesting the JSON into a relational database schema
* The DDL is read at time of initial setup and sets the definitions for all the tables.  If tables are added, deleted or modified please contact [Daasity Support](mailto:support@daasity.com)


# MySQL Database

MySQL is an open-source relational database management system enabling users to meet the database challenges of next generation web, cloud, and communications services.

## Integration Details

Daasity connects to MySQL databases via an ODBC connector.  Some key notes on the Daasity method for data replication:

* A user will be needed that has read permissions in the MySQL database.  This user will access via ODBC and execute the data replication
* Data replication is performed by running SQL queries against the MySQL database
* The DDL is read at time of initial setup and sets the definitions for all the tables.  If tables are added, deleted or modified please contact [Daasity Support](mailto:support@daasity.com)


# Postgres Database

Postgres, is a free and open-source relational database management system emphasizing extensibility and SQL compliance.

## Integration Details

Daasity connects to Postgres databases via an ODBC connector.  Some key notes on the Daasity method for data replication:

* A user will be needed that has read permissions in the Postgres database.  This user will access via ODBC and execute the data replication
* Data replication is performed by running SQL queries against the Postgres database
* The DDL is read at time of initial setup and sets the definitions for all the tables.  If tables are added, deleted or modified please contact [Daasity Support](mailto:support@daasity.com)


# SFTP

You can send data to Daasity via SFTP Server

## How to Send Data to Daasity using the Daasity SFTP Server

### How to set up Transmit software (recommended by Daasity) that will enable you to send files to Daasity via SFT

Setting up the SFTP takes 2 steps:

1. Configuring a connection to the Daasity SFTP Server
2. Transferring files to Daasity

{% hint style="success" %}
**You can watch a walk-through of these steps** [**here in this video**](https://youtu.be/pduEhxq0Xbc)
{% endhint %}

{% hint style="danger" %}
**These instructions assume the user has already been set up in the Daasity SFTP server.** &#x20;
{% endhint %}

This means:

* The merchant user has completed the instructions to generate an SSH key, simple docs on [**setting up SSH and DB connection here**](https://docs.google.com/document/d/1Q_1cnUR8OxG0HjAj92zrSPLpRkPm8gNpv2D_SdrFIZQ/edit#heading=h.bx20h6b2n59d)
* The merchant user has submitted the public key, of the SSH key pair to Daasity (Email: <Suport@daasity.com>
* Daasity DevOps team has created the SFTP user with the supplied SSH public key
* Daasity team has sent the SFTP user credential and SFTP folder to the merchant user

{% hint style="danger" %}
The convention for the folder is the merchant account id. e.g. **daasity-sftp/1f1ff7dc-dd0c-42a6-82ea-d166e4565753**
{% endhint %}

We recommend using Transmit 5 (by Panic Software): [transmit web site.](https://www.panic.com/transmit/)

#### ![How to Send Data to Daasity SFTP](https://info.daasity.com/hubfs/Knowledge%20Base/General/FAQ/How%20to%20Send%20Data%20to%20Daasity%20SFTP.png)

## Configuring a Connection to the Daasity SFTP Server

### Open Transmit App.  Click the "+" button at the bottom.

![How to Send Data to Daasity SFTP - Config](https://info.daasity.com/hubfs/Knowledge%20Base/General/FAQ/How%20to%20Send%20Data%20to%20Daasity%20SFTP%20-%20Config.png)\
OR

Menu option Servers > Add New Server.

<img src="https://info.daasity.com/hubfs/Knowledge%20Base/General/FAQ/How%20to%20Send%20Data%20to%20Daasity%20SFTP%20-%20Server.png" alt="How to Send Data to Daasity SFTP - Server" width="688">

### Enter the Name of the Connection: e.g. **Daasity SFTP.**  ![How to Send Data to Daasity SFTP - Connection](https://info.daasity.com/hubfs/Knowledge%20Base/General/FAQ/How%20to%20Send%20Data%20to%20Daasity%20SFTP%20-%20Connection.png)

### Enter the username supplied by Daasity in the User Name.  ![How to Send Data to Daasity SFTP - User](https://info.daasity.com/hubfs/Knowledge%20Base/General/FAQ/How%20to%20Send%20Data%20to%20Daasity%20SFTP%20-%20User.png)

### Choose the Private Key option for the Password.

Click the Key.

You will likely need to Edit the key list to add your private key.\
\
![How to Send Data to Daasity SFTP - Password](https://info.daasity.com/hubfs/Knowledge%20Base/General/FAQ/How%20to%20Send%20Data%20to%20Daasity%20SFTP%20-%20Password.png)

Click the Edit option.

The Key dialog will open.

Click the \[+] in the bottom left and choose Import Keys.

![How to Send Data to Daasity SFTP - Keys](https://info.daasity.com/hubfs/Knowledge%20Base/General/FAQ/How%20to%20Send%20Data%20to%20Daasity%20SFTP%20-%20Keys.png)\
Go to the SSH folder.\
\~/.ssh

![How to Send Data to Daasity SFTP - SSH](https://info.daasity.com/hubfs/Knowledge%20Base/General/FAQ/How%20to%20Send%20Data%20to%20Daasity%20SFTP%20-%20SSH.png)\
Choose your key, typically it is **id\_rsa.**

Click import.

\
![How to Send Data to Daasity SFTP - Import](https://info.daasity.com/hubfs/Knowledge%20Base/General/FAQ/How%20to%20Send%20Data%20to%20Daasity%20SFTP%20-%20Import.png)

Choose that key.

You will see that key selected in the connection.

### Save to Create the Connection.  ![How to Send Data to Daasity SFTP - Path](https://info.daasity.com/hubfs/Knowledge%20Base/General/FAQ/How%20to%20Send%20Data%20to%20Daasity%20SFTP%20-%20Path.png)

### Set the Remote Path to the Path that was Supplied by the Daasity team.

#### ![How to Send Data to Daasity SFTP - Path](https://info.daasity.com/hubfs/Knowledge%20Base/General/FAQ/How%20to%20Send%20Data%20to%20Daasity%20SFTP%20-%20Path.png)

## Transfer files to Daasity

### Open the Transmit App.

### Choose the Daasity SFTP connection you've just created.

### Navigate to your specific folder as sent by Daasity.

<img src="https://info.daasity.com/hubfs/Knowledge%20Base/General/FAQ/How%20to%20Send%20Data%20to%20Daasity%20SFTP%20-%20Transfer.png" alt="How to Send Data to Daasity SFTP - Transfer" width="688">


# \[NEW] Database Replicators

Table Replicators copy tables from your own database into your Daasity warehouse on a recurring schedule. You set them up yourself: choose the table, pick your columns, filter the rows, decide how the data loads, and test the query before it runs. No developer and no support ticket required.

### Supported sources and destinations

| Source databases                | Destination warehouses |
| ------------------------------- | ---------------------- |
| Azure                           | Snowflake              |
| BigQuery                        | Redshift               |
| SQL Server                      | BigQuery               |
| MongoDB                         |                        |
| MySQL                           |                        |
| NetSuite                        |                        |
| PostgreSQL                      |                        |
| Redshift                        |                        |
| Salesforce Service Cloud (SOQL) |                        |
| Snowflake                       |                        |

### How Table Replicators are organized

Two things work together:

* A **Data Source** is the parent. It stores your database credentials and connection details: host, port, username, password, and so on.
* A **Table Replicator** is a child of a Data Source. Each one replicates a single table from that database into your warehouse.

One Data Source can have as many Table Replicators as you need.

{% hint style="info" %}
The **Data Connections** page is being retired. Manage your Data Sources from the **Integrations** page instead.
{% endhint %}

#### The Data Source page

Open a Data Source to manage everything about it. You'll find its connection details, a **Test Connection** button, and a **Table Replicators** section listing everything running on it.

<figure><img src="/files/Z0BzmypjYmDzXadDiYMp" alt=""><figcaption></figcaption></figure>

| Column            | What it shows                                                  |
| ----------------- | -------------------------------------------------------------- |
| Name              | The Table Replicator's name                                    |
| Destination Table | The schema and table in your warehouse                         |
| Status            | Whether it's active                                            |
| Action            | How the data loads                                             |
| Last Refreshed    | When it last ran                                               |
| Next Refresh      | When it runs next, or **Disabled** if no workflow is scheduled |

Select any row to open that Table Replicator.

#### Test Connection

**Test Connection** confirms Daasity can still reach your database with the saved credentials. It checks the connection only, not any individual query.

If it fails you'll see the actual error, such as an unreachable host or rejected credentials, rather than a generic message.

{% hint style="info" %}
Run **Test Connection** first whenever several Table Replicators on the same Data Source fail at once. That pattern almost always points at the connection rather than the queries.
{% endhint %}

### Creating a Table Replicator

From the Data Source page, choose **Create Table Replicator**. Work through the sections in order.

#### Step 1: Name it

Give it a name that identifies what it's extracting. This is a display label only and you can change it later.

#### Step 2: Select your source

Under **Connection Information**, confirm the **Datasource**. If you started from a Data Source page it's already filled in.

Under **Source Table Information**, choose your **Source Schema** and **Source Table** from the dropdowns. Both are read live from your database, so you never type a schema or table name by hand.

<figure><img src="/files/dyUTNCy74QSnzbCembwd" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
&#x20;**NetSuite works differently.** There's no schema step. Daasity retrieves the tables your NetSuite role has permission to see, so the list reflects that role's access. If a table you expect is missing, check the role's permissions in NetSuite.

Loading tables and fetching columns on NetSuite can take several minutes depending on your account size. A counter shows elapsed time while it connects. Leave the screen open until it finishes.
{% endhint %}

#### Step 3: Choose your columns

Select **Fetch Columns**. Daasity reads the table's structure and lists every column it found.

| Field                   | What it does                                                                          |
| ----------------------- | ------------------------------------------------------------------------------------- |
| Include                 | Tick to replicate this column                                                         |
| Source Column Name      | The column name in your database                                                      |
| Destination Column Name | What it will be called in your warehouse. Pre-filled, and editable                    |
| Data Type               | How the value is stored in your warehouse. Pre-filled from the source, and changeable |

Tick the columns you want, then rename any destination columns you'd like to change. If two destination names end up identical, Daasity flags the duplicate so you can rename one before continuing.

**Data Type** lets you land a column as something other than its source type. The options are Boolean, Currency, Date, Decimal/Float, Integer, Percentage, String/Text, and Timestamp. Most of the time the pre-filled value is right. Change it when a source column is stored loosely, for example a price held as text that you want as Currency, or a rate held as a decimal that you want as Percentage.

<figure><img src="/files/HV9FlGMMJKQaOFxC4Oqs" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Selecting **Fetch Columns** again resets your custom destination names back to the defaults. Do your final fetch first, then edit names.
{% endhint %}

{% hint style="success" %}
Because you select columns explicitly, the query Daasity runs names each column instead of using `SELECT *`. Adding a new column to your source table no longer breaks the extraction.
{% endhint %}

#### Step 4: Filter your data

Open **Data Filtering** and choose how to limit the rows you pull. Four tabs cover the common cases.

**Filter by Date.** Filter the result set on a date column you choose. The lookback window is configured separately.

**Filter by Last Date.** Pull only rows newer than what you already have. Choose a date field in your source table and the matching field in your destination table. Daasity finds the maximum value already loaded and makes it available as `{{max_date}}` in your query. Useful for tables where you only want the most recent records on each run.

**Filter by Last Index.** The same idea using a number instead of a date. Best for tables with an auto-incrementing ID, typically a primary key. Daasity pulls records with an ID greater than the highest one already in your destination table.

**Advanced.** Write the complete SQL statement for the extraction yourself.

<figure><img src="/files/l4tiJZWtTEkDz9Z71DWC" alt=""><figcaption></figcaption></figure>

Need something the tabs don't cover? **Additional custom filtering** lets you add your own logic to the `WHERE` clause without writing the whole query.

The **Generated SQL Query** panel shows exactly what Daasity will run, updating as you make changes. Check it before moving on.

#### Step 5: Choose how the data loads

Open **Data Loading** and pick one of three actions.

| Action                    | What happens                                                                             | Use it when                                                                                                 |
| ------------------------- | ---------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| **Full Data Replacement** | Deletes all existing records in the destination table, then loads the data fresh.        | The source table is small, you don't need historical data, or you can't define a primary key on the source. |
| **Update/Insert**         | Keeps existing records, adds new ones, and updates records that already exist.           | You're loading incrementally and need to capture changes to records already loaded. Requires a sync key.    |
| **Append**                | Keeps existing records and adds new ones only. Records already loaded are never updated. | You're loading incrementally and don't need to capture changes to existing records.                         |

<figure><img src="/files/EkqPuzfdoAPeWAXBVJbE" alt=""><figcaption></figcaption></figure>

**Setting the sync key**

A sync key tells Daasity which rows are the same row across runs. It's required for **Update/Insert** and optional for the other two actions.

Under **Select your replication key type**, choose either:

* **Individual key - primary key**, then pick the single column that uniquely identifies a row, or
* **Compound key - multiple columns**, then pick the columns that are unique in combination.

**Current sync key** shows what's in effect. It reads *(no columns selected)* until you choose, then shows your columns in brackets, for example `[categoryid]:[description]:[id]`.

Choosing the wrong columns here is the most common cause of duplicate or missing rows later. [Sync keys](https://claude.ai/cowork/cse_01HsU8TCt5nN3MbSSmmg1NHh#sync-keys) covers how to pick them.

**Sources with no unique key**

Some tables have no reliable way to tell one row from another. A NetSuite source without a primary key is the common example.

For these, tick **Do not remove duplicates** under **Advanced**. Daasity will load every row as it arrives instead of trying to match rows against a key that can't identify them.

Use this only when you've confirmed there's no usable key. Turning it on when a valid key exists will produce duplicate rows.

#### Step 6: Set the destination

| Field                 | What to enter                                            |
| --------------------- | -------------------------------------------------------- |
| Destination Schema    | The schema in your warehouse that will contain the table |
| Destination Tablename | The table name to load the data into                     |

Both are required. Daasity handles the destination primary key and sync key for you, and shows them on the Table Replicator's detail page once it's created.

Select **Create** to finish.

### The Table Replicator detail page

After you create a Table Replicator you land on its detail page, and this is where you return to check on it. Open one by selecting its name from the Data Source page.

A new Table Replicator shows **No data has been loaded yet. Please check back tomorrow.** The first load runs on the next scheduled refresh. After that, the banner tells you how long ago it last refreshed.

The page shows:

| Section                                 | What's in it                                                                                                          |
| --------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| Details                                 | Refreshed On, Datasource, source schema and table, destination schema and table, destination primary key and sync key |
| SQL Query                               | The exact query Daasity runs, with every column named                                                                 |
| Data Load Action                        | Which action is in effect and what it does                                                                            |
| Fields used to generate the Sync Key(s) | The columns making up the sync key                                                                                    |
| Sync Key Generation                     | How those columns become a key                                                                                        |
| Test Query                              | Run the query on demand                                                                                               |
| Field Mappings                          | Every column being replicated, its destination name, its format, and whether it's part of the sync key                |
| Configured Workflows                    | Which workflows run this Table Replicator                                                                             |

<figure><img src="/files/bA504nffk44qGCxMax9c" alt=""><figcaption></figcaption></figure>

### Test Query

You can run a Table Replicator's query against your database at any time, before you save it or long after it's running. Use it to confirm a new one works, and to diagnose one that stopped returning what you expect.

1. Open the Table Replicator's detail page.
2. Find the **Test Query** card.
3. Select **Run Test Query**.
4. Enter any parameters the query uses: start date, end date, max ID, max date.
5. Submit. Daasity connects to your source database and runs the query, limited to 5 rows.
6. Results show the row count, execution time, and column names.
7. Select **Download Results (CSV)** to keep a copy.

If the query fails you'll see the actual error your database returned, not a generic failure. When the error points at the connection rather than the query, run **Test Connection** on the Data Source.

{% hint style="info" %}
Test Query is not available on MongoDB or Salesforce Service Cloud.
{% endhint %}

### Sync keys

A sync key is how Daasity tells whether an incoming row is new or an update to a row it already has. You set it when you create a Table Replicator, and you can change it later.

| Data load action          | Sync key                                                           |
| ------------------------- | ------------------------------------------------------------------ |
| **Update/Insert**         | Required. At least one column, or the Table Replicator won't save. |
| **Append**                | Optional. Every row is inserted regardless.                        |
| **Full Data Replacement** | Optional. The table is emptied and reloaded on each run.           |

#### How a sync key works

Daasity takes the columns you choose, combines them, and generates an MD5 hash. That hash becomes the row's identity. Two rows with the same values in those columns produce the same hash, so Daasity treats them as the same row.

Columns are always combined in alphabetical order, so the order you pick them in doesn't matter and the result is identical on every run.

#### What makes a good sync key

**Pick columns whose values never change.** If a value in your sync key changes on the source row, Daasity generates a different hash and treats it as a brand new row. You get a duplicate instead of an update. IDs and creation timestamps are safe. Status fields, quantities, and last-modified dates are not.

**Pick the narrowest combination that's actually unique.** Too few columns and separate rows collapse into one, overwriting each other. Too many and rows that should match stop matching.

**Remember these are destination column names.** If you renamed a column while mapping, the sync key uses your new name. Check the key after any renaming.

#### Checking the key on an existing Table Replicator

Open the detail page. **Fields used to generate the Sync Key(s)** lists the columns, and the **Field Mappings** table marks each one **Yes** under **Used in Key?**. On a wide table that's the fastest way to see what's in the key.

#### Changing a sync key

Choose **Edit**. The **Sync Key** section lists every destination column with a checkbox, its name, and its type. Tick the columns you want and **Current sync key** updates to match.

A different set of key columns produces a different hash for every row. The rows already in your destination table were written with the old key, so they can no longer be matched against incoming rows. Left alone they would sit there permanently while every incoming row inserted alongside them as a duplicate.

Daasity won't let that happen. When you save a changed sync key you'll get a **Sync Key Changed, Action Required** dialog asking what to do with the existing rows:

| Option                         | What happens                                                                                                                             |
| ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------- |
| Copy and truncate              | Your existing data is copied to a table named with a `_backup_` suffix and timestamp, then the original is emptied. This is the default. |
| Truncate the destination table | The table is emptied. The existing data is not kept.                                                                                     |

Type the confirmation text, then choose **Confirm & Save**.

{% hint style="info" %}
Take the copy option unless you're certain you don't need the old rows. The backup table stays in your warehouse, so you can compare against it after the next run and drop it once you're satisfied.
{% endhint %}

The table refills on the next scheduled run, so expect a gap between saving the change and having complete data again. On a large table, plan the change for a time when that gap is acceptable.

### Editing a Table Replicator

Open a Table Replicator and choose **Edit**. Three things can change:

* **Name**
* **Action**, the data load action
* **Sync Key**

Everything else is fixed when you create it: the source table, the columns, the filtering, and the destination. To change any of those, create a new Table Replicator through the guided flow and delete the old one. It takes a couple of minutes and validates as you go.

{% hint style="warning" %}
Changing the sync key changes every row's identity, so the rows already in your destination table can no longer be matched. Daasity will ask you what to do with them before saving. See [Changing a sync key](https://claude.ai/cowork/cse_01HsU8TCt5nN3MbSSmmg1NHh#changing-a-sync-key).
{% endhint %}

### Deactivating a Table Replicator

Deactivating pauses a Table Replicator without deleting it. Its scheduled workflows stop running it, and your destination table and all the data already loaded stay exactly as they are. The configuration is kept, so you can pick it back up later.

Open a Table Replicator, then choose **Deactivate** from the menu next to **Edit**. To start it again, choose **Activate**. It resumes on its next scheduled run.

Deactivate when you want to stop a table from refreshing for a while, for example while you work on the source table or while you investigate a data issue. To remove it entirely, delete it instead.

{% hint style="info" %}
If Daasity support deactivated a Table Replicator for you, you won't be able to reactivate it yourself. You'll see a message saying it was deactivated by support. Email <support@daasity.com> to have it turned back on.
{% endhint %}

### Deleting a Table Replicator

Open a Table Replicator, then choose **Delete** from the menu next to **Edit**.

Deleting removes the Table Replicator. What happens to the data it already loaded is up to you.

| Option                                 | What happens                                                                                                                     |
| -------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| Keep the data in the destination table | The Table Replicator is removed. Your table and its data stay in the warehouse, no longer updated.                               |
| Drop the destination table             | The Table Replicator is removed and the table is permanently deleted from your warehouse.                                        |
| Rename the destination table           | The Table Replicator is removed and the table is renamed with a `_deleted_` suffix and timestamp, so the data stays recoverable. |

To confirm, type the destination table name exactly as the dialog shows it, including the schema. For example `netsuite_odbc_prod.accounts`, not `accounts`.

<figure><img src="/files/NONshunACy98EzMESYht" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Check what reads from the destination table before dropping it. Dashboards, dbt models, and downstream queries pointing at a dropped table will break.
{% endhint %}

### Troubleshooting and recommendations

**Performance**

* Extraction time depends on the size of the source table and the complexity of the query.
* Avoid unscoped Full Data Replacement or Update/Insert operations on large tables. Filter them.

**Errors**

* `connection reset by peer`: increase the timeout settings on your source database.
* `killed`: contact <support@daasity.com>.
* `Update/Insert requires at least one sync key column`: choose a replication key type and select your columns.
* Several Table Replicators on the same Data Source failing together: run **Test Connection** on the Data Source before anything else.

**Data**

* Fewer rows in your destination than your source: different rows are producing the same sync key and overwriting each other. Add columns until the combination is unique.
* Rows that should update are inserting as new instead: a sync key column's value changes between runs. Rebuild the key from columns that don't change.
* Every row has an identical sync key: no columns are selected, so every row hashes the same empty value. Set a key with at least one column.
* BigQuery Star Tables are not directly supported.
* JSON fields are not supported.
* Aliases work for limited transformations as long as the alias name matches an existing column.

**Setup**

* `Failed to fetch columns`: Daasity couldn't read the table's structure. Run **Test Connection** on the Data Source, then confirm the database user has permission to read that table.
* Custom destination column names reverted to defaults: selecting **Fetch Columns** again resets them. Re-apply after your final fetch.
* A table you expect is missing from the dropdown: refresh the dropdown. On NetSuite, check the role's table permissions.
* Schema, table, and column lists load in the background, so you'll see **Connecting to database**, **Fetching column metadata**, or **Processing table list** while Daasity works. Large tables and NetSuite accounts take longest. Leave the screen open.
* **Next Refresh** shows Disabled: no workflow is scheduled for that Table Replicator. Check **Configured Workflows** on its detail page.

Still stuck? Email <support@daasity.com> with the Table Replicator name and, if you have one, the CSV from **Test Query**.


# Setup Guides

Here are the Data Sources (Integrations) that Daasity currently supports.

To get Started with Integrations, Navigate to the Data section of the App and click "New Integration" to add a new data source. The instructions for each integration vary slightly, you can review the specifics for each integration in this section.&#x20;

<figure><img src="/files/hBKIfdoPlFkVgIvXes7U" alt=""><figcaption></figcaption></figure>


# Retail Integrations

Connect with retail platforms and access market data from physical retail channels.

### About Retail Integrations

These integrations provide data from physical retail channels through:

* File uploads (CSV files delivered via S3 storage)
* EDI processing (EDI 852 format for inventory data)
* Direct retailer data from individual retail chains
* Syndicated market data from providers like Circana, SPINS, and Nielsen

### Integration Types

**Retailer-Direct:** Connect directly to individual retail chains for their specific data&#x20;

**Syndicated Market Data:** Access aggregated market data from syndicated providers

### Available Integrations

Select a Retail integration from the sidebar section to access its setup and configuration guide.

### Data Characteristics

Retail data typically includes:

* Point-of-sale transactions
* Inventory levels
* Store-level performance
* Regional market metrics


# Amazon Vendor Central

Amazon Vendor Central is the platform where manufacturers and distributors manage their wholesale partnerships with Amazon. Vendors sell inventory directly to Amazon, which then takes on the customer-facing sales. Unlike Seller Central, where third-party sellers control their own pricing and inventory, Vendor Central handles these aspects. It provides tools for order management, product listing optimization, and sales performance analysis, streamlining the vendor experience.


# Integration Setup

To connect Amazon Vendor Central Please Follow these steps

## Step1 : Integrations

<figure><img src="/files/7rGll8vPkGzbulDrBvGb" alt=""><figcaption><p>Click Integrations from Left-Side Menu Bar</p></figcaption></figure>

## Step 2: New Integration&#x20;

<figure><img src="/files/dMGJycWWrceRnB32uxLZ" alt=""><figcaption><p>New Integration</p></figcaption></figure>

## Step 3: Amazon Vendor Icon

<figure><img src="/files/guFjGpDjWF2roLey2q3m" alt=""><figcaption><p>Amazon Vendor Central</p></figcaption></figure>

## Step 4: Authorize Daasity to Connect

<figure><img src="/files/tP3nfsQsFBxlIcfaTrZK" alt=""><figcaption><p>Authorize Daasity to Connect</p></figcaption></figure>

{% hint style="success" %}
Enter Any Name and Any Seller in the Boxes (These are merely placeholders)
{% endhint %}

{% hint style="success" %}
Choose the Marketplace and Country - if you have multiple Countries - repeat the process for each Country
{% endhint %}

## Step 5: Check your Data Sources

After you have Authorized Daasity to connect - Navigate to Data Sources

<figure><img src="/files/lfKH3ZIwidv3RbHZ9Xeu" alt=""><figcaption><p>Data Sources</p></figcaption></figure>

<figure><img src="/files/koSWhHaqzSVtNnqZ21q5" alt=""><figcaption><p>Confirm Amazon Vendor Central is in Data Sources</p></figcaption></figure>

{% hint style="success" %}
Email <Support@daasity.com> once you have connected to Data Sources
{% endhint %}


# Integration Specifications

This page will help you learn about the Amazon Vendor Central integration and provide technical specifications for working with the Amazon Vendor Central source tables and Daasity data models.

The Daasity integration for Amazon Vendor Central provides daily insights into sales, traffic, and inventory at the product level ("ASIN"), and provides comprehensive analysis of product performance on Amazon.&#x20;

***

**Availability:** all Enterprise merchants

**Refresh Cadence:** daily

***

### **Where to Find This Data**

**Dashboards**

* Omnichannel Sales Dashboard
* Amazon Vendor Central Dashboard

**Explores**

* Amazon Vendor Central Sales Explore
* Amazon Vendor Central Traffic Explore
* Amazon Vendor Central Inventory Explore

[For more on how to use this data and best practices - see "How to use"](/core-concepts/data-integrations/setup-guides/retail-integrations/amazon-vendor-central/how-to-use)

***

## Data Model

**Entity Relationship Diagram (ERD)**

The integration leverages multiple source tables that are interconnected within Daasity’s data model. The ERD for this integration illustrates how sales, traffic, and inventory data are joined by ASIN and date keys across different reports.

Click here to view the ERD for Amazon Vendor Central Integration

## **Source Schemas**

These tables are available through the Amazon Vendor Central API, extracted daily.

* [Vendor Sales Report](#vendor-sales-report-report)
* [Vendor Traffic Report](#vendor-traffic-report)
* [Vendor Inventory Report](#vendor-inventory-report)

### **Vendor Sales Report**

Sales, COGS, and return metrics by product ASIN and date.

* Endpoint: [Vendor Retail Analytics Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#vendor-retail-analytics-reports)
* Update Method: UPSERT
* Table Name: \[`amazon_vendor_central.get_vendor_sales_report`]

| CSV Column                       | Database Column                  |
| -------------------------------- | -------------------------------- |
| start\_date                      | start\_date                      |
| asin                             | asin                             |
| distributor\_view                | distributor\_view                |
| customer\_returns                | customer\_returns                |
| end\_date                        | end\_date                        |
| ordered\_revenue\_amount         | ordered\_revenue\_amount         |
| ordered\_revenue\_currency\_code | ordered\_revenue\_currency\_code |
| ordered\_units                   | ordered\_units                   |
| report\_run\_date                | report\_run\_date                |
| selling\_program                 | selling\_program                 |
| shipped\_cogs\_amount            | shipped\_cogs\_amount            |
| shipped\_cogs\_currency\_code    | shipped\_cogs\_currency\_code    |
| shipped\_revenue\_amount         | shipped\_revenue\_amount         |
| shipped\_revenue\_currency\_code | shipped\_revenue\_currency\_code |
| shipped\_units                   | shipped\_units                   |

***

### **Vendor Traffic Report**

Consumer web traffic to product pages at the ASIN and day-level, measuring consumer interest (number of views) and the effectiveness of the product listing (conversion rate of views > transactions).

* Endpoint: [Vendor Retail Analytics Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#vendor-retail-analytics-reports)
* Update Method: UPSERT
* Table Name: \[`amazon_vendor_central.get_vendor_traffic_report`]

| CSV Column        | Database Column   |
| ----------------- | ----------------- |
| start\_date       | start\_date       |
| asin              | asin              |
| end\_date         | end\_date         |
| glance\_views     | glance\_views     |
| report\_run\_date | report\_run\_date |

***

### **Vendor Inventory Report**

Provides inventory metrics by product and date, detailing stock levels, aging inventory, lead times, sell-through rates, and unhealthy inventory. The data is organized by ASIN and distributor view.

* Endpoint: [Vendor Retail Analytics Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#vendor-retail-analytics-reports)
* Update Method: UPSERT
* Table Name: \[`amazon_vendor_central.get_vendor_inventory_report`]

| CSV Column                                                      | Database Column                                                 |
| --------------------------------------------------------------- | --------------------------------------------------------------- |
| start\_date                                                     | start\_date                                                     |
| asin                                                            | asin                                                            |
| distributor\_view                                               | distributor\_view                                               |
| selling\_program                                                | selling\_program                                                |
| aged\_90\_plus\_days\_sellable\_inventory\_cost\_amount         | aged\_90\_plus\_days\_sellable\_inventory\_cost\_amount         |
| aged\_90\_plus\_days\_sellable\_inventory\_cost\_currency\_code | aged\_90\_plus\_days\_sellable\_inventory\_cost\_currency\_code |
| aged\_90\_plus\_days\_sellable\_inventory\_units                | aged\_90\_plus\_days\_sellable\_inventory\_units                |
| average\_vendor\_lead\_time\_days                               | average\_vendor\_lead\_time\_days                               |
| end\_date                                                       | end\_date                                                       |
| net\_received\_inventory\_cost\_amount                          | net\_received\_inventory\_cost\_amount                          |
| net\_received\_inventory\_cost\_currency\_code                  | net\_received\_inventory\_cost\_currency\_code                  |
| net\_received\_inventory\_units                                 | net\_received\_inventory\_units                                 |
| open\_purchase\_order\_units                                    | open\_purchase\_order\_units                                    |
| procurable\_product\_out\_of\_stock\_rate                       | procurable\_product\_out\_of\_stock\_rate                       |
| report\_run\_date                                               | report\_run\_date                                               |
| sell\_through\_rate                                             | sell\_through\_rate                                             |
| sellable\_on\_hand\_inventory\_cost\_amount                     | sellable\_on\_hand\_inventory\_cost\_amount                     |
| sellable\_on\_hand\_inventory\_cost\_currency\_code             | sellable\_on\_hand\_inventory\_cost\_currency\_code             |
| sellable\_on\_hand\_inventory\_units                            | sellable\_on\_hand\_inventory\_units                            |
| unfilled\_customer\_ordered\_units                              | unfilled\_customer\_ordered\_units                              |
| unhealthy\_inventory\_cost\_amount                              | unhealthy\_inventory\_cost\_amount                              |
| unhealthy\_inventory\_cost\_currency\_code                      | unhealthy\_inventory\_cost\_currency\_code                      |
| unhealthy\_inventory\_units                                     | unhealthy\_inventory\_units                                     |
| unsellable\_on\_hand\_inventory\_cost\_amount                   | unsellable\_on\_hand\_inventory\_cost\_amount                   |
| unsellable\_on\_hand\_inventory\_cost\_currency\_code           | unsellable\_on\_hand\_inventory\_cost\_currency\_code           |
| unsellable\_on\_hand\_inventory\_units                          | unsellable\_on\_hand\_inventory\_units                          |
| vendor\_confirmation\_rate                                      | vendor\_confirmation\_rate                                      |


# How to use

Amazon Vendor Central data can help optimize operations and drive better business outcomes. Here are the common use cases and key metrics for leveraging sales, traffic, and inventory data from AVC.

## Core Use Cases

**1. Sales Performance Tracking**

* **Total Amazon Sales Overview:** Gain a comprehensive view of your total sales on Amazon by ASIN (Amazon Standard Identification Number). This includes tracking daily sales metrics, such as total revenue, Cost of Goods Sold (COGS), and returns. By monitoring these metrics, you can assess product profitability at a granular level, making informed decisions about pricing, promotions, and product strategies.
* **Profitability Analysis:** Break down your sales data to evaluate how profitable each product is. Identify high-performing ASINs that contribute significantly to your bottom line, and pinpoint underperforming products that may require adjustments in pricing or marketing strategies.
* **Sales Trends:** Track sales trends over time to identify patterns and seasonal fluctuations. Use this data to forecast demand, plan inventory, and adjust marketing strategies to capitalize on peak sales periods.
* **Comparative Analysis:** Compare the sales performance of different products or categories to determine which items are driving the most revenue. This helps in prioritizing resources and efforts towards your most profitable products.

**2. Inventory Management**

* **Stock Level Monitoring:** Keep a close eye on your stock levels to avoid stockouts or overstock situations. By tracking inventory by ASIN, you can manage your inventory health more effectively, ensuring that you have the right products available to meet customer demand without tying up capital in excess stock.
* **Aging Inventory Analysis:** Identify products that have been sitting in inventory for too long. Aging inventory can lead to increased holding costs and reduced profitability. By addressing these issues proactively, you can implement strategies such as discounts or bundling to move slow-selling items.
* **Sell-Through Rates:** Monitor how quickly products are selling relative to their inventory levels. High sell-through rates indicate strong demand, while low rates may suggest overstocking or pricing issues that need to be addressed.

**3. Consumer Interest Analysis**

* **Traffic to Sales Conversion:** Analyze daily web traffic metrics, such as glance views, to measure consumer interest in your products. Compare these views to actual sales to calculate the conversion rate by ASIN. This helps you understand how effectively your product listings are converting interest into sales.
* **Conversion Rate Optimization:** Identify products with low conversion rates. A low conversion rate might indicate issues with the product detail page, pricing, customer reviews, or other aspects of the shopping experience. To improve conversion rates, consider optimizing product detail pages with better descriptions, higher-quality images, and enhanced features that make your products more appealing to potential buyers.
* **A/B Testing and Iteration:** Test different strategies to improve conversion rates, such as adjusting pricing, modifying the product title or bullet points, or enhancing the visual content. Continuously monitor the impact of these changes to refine your approach and maximize the effectiveness of your product listings.

***

## Key Metrics

*Sales*

* **Sales Metrics:** Revenue (ordered and shipped), units sold (ordered and shipped).
* **Cost of Goods Sold (COGS):** Amount and currency for shipped COGS.
* **Returns:** Customer returns by ASIN.

*Traffic*

* **Web Traffic:** Number of views (glance views) on product pages.
* **Conversion Rate:** Effectiveness of product listings in converting views to transactions.

*Inventory*

* **Inventory Levels:** Stock levels, including sellable and unsellable inventory.
* **Sell-Through Rate:** Efficiency of inventory turnover.
* **Out-of-Stock Rates:** Frequency of out-of-stock situations for procurable products.
* **Open Orders:** Unfilled customer orders and open purchase orders.
* **Aging Inventory:** Units and cost of inventory aged over 90 days.
* **Unhealthy Inventory:** Metrics for unhealthy inventory, including cost and units.
* **Lead Times:** Average vendor lead time in days.


# ASIN Mapping Configuration Setup

Getting started with Amazon VC: ASIN Mapping

**Context:** The data provided by the Amazon Vendor Central integration includes only ASINs (Amazon Standard Identification Numbers), no readable product names are available in the raw data.

**Solution:** To fully utilize this data and generate comprehensive reports that include clean product names and attributes, it is necessary to include a [SKU mapping step](https://help.daasity.com/extract/brand-supplied-data-bsd/sku-mapping).&#x20;

* Option 1: align the Amazon ASINs with existing Master SKUs using the Daasity SKU Mapping BSD
* Option 2:  designate the new ASIN(s) as a new master SKU, and manually fill-in values for the [standard product attributes ](broken://pages/h0BG0ZZczEoXHVNUXogH)like Product Name, and any relevant [custom product attributes ](https://help.daasity.com/extract/brand-supplied-data-bsd/sku-hierarchy)in the Daasity Data Platform.


# Workflow Configuration Setup

This page provides information on how the Amazon Vendor Central integration can be configured as part of a workflow to extract data

## Extraction Replication Window

The Amazon Vendor Central integration pulls the most recent report when the report is made available by Amazon.  Data is extracted at the **DAY** level to provide the highest level of granularity possible in the report

## Extraction Frequency

{% hint style="warning" %}
Daasity will check Amazon each time the integration is run but data is **not** available until the report is **made available** by Amazon

Amazon makes the weekly report available within 48 to 72 hours of the close of the reporting week.
{% endhint %}

{% hint style="info" %}
We recommend this integration be set to extract **daily** due to Amazon limitations
{% endhint %}


# Transformation Configuration Setup

\`


# Vendor Sales & Inventory Report

This pages provides instructions on what transform code should be added to a script manifest file to transform Amazon Vendor Central Sales & Inventory data into the Unified Order Schema (UOS)

## Overview

The Daasity transformation code maps data from the Amazon Vendor Central schema into the Unified Order Schema (UOS)

## Feature Dependencies

You must have enabled our [Code Repository](/technical-docs/transform-code/code-repository) feature in order to both access the Daasity transformation code as well as modify a Script Manifest File enabling this code to execute

We recommend you review the [Transformation Configuration](/technical-docs/workflows-and-scheduling/script-manifest-yaml-files) section of our Help documentation to familiarize yourself with our workflow engine and script manifest files.

## Script Manifest File (YML)

### Upstream Transformation Dependencies

{% hint style="danger" %}
This code is dependent on the following integration being installed:

* Amazon Vendor Central

This code block is dependent on the following upstream code blocks being implemented:

* [Initialization](/technical-docs/transform-code/transform-code/initialization-code)
  {% endhint %}

### Transformation Code Requirements

To enable the data transformation from the Amazon Vendor Central schema into UOS, the following code must be run in a workflow:

```
  uos_amazon_vendor_central:
    integrations:
      - amazon_vendor_central
      - "github://platform-sql-shared/scripts/datamart/03_uos/amazon_vendor_central/0001_UOS_BAS_update_integration_mapping.sql"
      - "github://platform-sql-shared/scripts/datamart/03_uos/amazon_vendor_central/0100_UOS_BAS_locations.sql"
      - "github://platform-sql-shared/scripts/datamart/03_uos/amazon_vendor_central/0102_UOS_BAS_customers.sql"
      - "github://platform-sql-shared/scripts/datamart/03_uos/amazon_vendor_central/0103_UOS_BAS_products.sql"
      - "github://platform-sql-shared/scripts/datamart/03_uos/amazon_vendor_central/0104_UOS_BAS_product_variants.sql"
      - "github://platform-sql-shared/scripts/datamart/03_uos/amazon_vendor_central/0105_UOS_BAS_orders.sql"
      - "github://platform-sql-shared/scripts/datamart/03_uos/amazon_vendor_central/0106_UOS_BAS_order_line_items.sql"
      - "github://platform-sql-shared/scripts/datamart/03_uos/amazon_vendor_central/0113_UOS_BAS_fulfillments.sql"
      - "github://platform-sql-shared/scripts/datamart/03_uos/amazon_vendor_central/0114_UOS_BAS_order_item_fulfillments.sql"
      - "github://platform-sql-shared/scripts/datamart/03_uos/amazon_vendor_central/0115_UOS_BAS_current_inventory_levels.sql"
      - "github://platform-sql-internal/scripts/datamart/03_uos/amazon_vendor_central/0116_UOS_BAS_sales_report.sql"
```

### Unified Order Schema

Code to populate the UOS tables:

* <https://github.com/Daasity/platform-sql-shared/blob/master/scripts/datamart/03_uos/amazon_vendor_central/0001_UOS_BAS_update_integration_mapping.sql>
* <https://github.com/Daasity/platform-sql-shared/blob/master/scripts/datamart/03_uos/amazon_vendor_central/0100_UOS_BAS_locations.sql>
* <https://github.com/Daasity/platform-sql-shared/blob/master/scripts/datamart/03_uos/amazon_vendor_central/0102_UOS_BAS_customers.sql>
* <https://github.com/Daasity/platform-sql-shared/blob/master/scripts/datamart/03_uos/amazon_vendor_central/0103_UOS_BAS_products.sql>
* <https://github.com/Daasity/platform-sql-shared/blob/master/scripts/datamart/03_uos/amazon_vendor_central/0104_UOS_BAS_product_variants.sql>
* <https://github.com/Daasity/platform-sql-shared/blob/master/scripts/datamart/03_uos/amazon_vendor_central/0105_UOS_BAS_orders.sql>
* <https://github.com/Daasity/platform-sql-shared/blob/master/scripts/datamart/03_uos/amazon_vendor_central/0106_UOS_BAS_order_line_items.sql>
* <https://github.com/Daasity/platform-sql-shared/blob/master/scripts/datamart/03_uos/amazon_vendor_central/0113_UOS_BAS_fulfillments.sql>
* <https://github.com/Daasity/platform-sql-shared/blob/master/scripts/datamart/03_uos/amazon_vendor_central/0114_UOS_BAS_order_item_fulfillments.sql>
* <https://github.com/Daasity/platform-sql-shared/blob/master/scripts/datamart/03_uos/amazon_vendor_central/0115_UOS_BAS_current_inventory_levels.sql>


# Vendor Traffic Report

This pages provides instructions on what transform code should be added to a script manifest file to transform Amazon Vendor Central traffic data

{% hint style="info" %}
There is no base code to transform Amazon Vendor Central Traffic data into any of the Daasity Unified Schemas
{% endhint %}


# H-E-B Circana


# Integration Setup

To connect H-E-B Circana please follow the steps below

## Step 1: Navigate to Integrations

Navigate to the Integrations screen by clicking **Connect** then **Integrations** on the left nav bar

<figure><img src="/files/3CwEZjzPfuZGcmZaygm6" alt=""><figcaption></figcaption></figure>

## Step 2: Select New Integration

Click on New Integration on the top right

<figure><img src="/files/DZv7lk6CpLDx3TCy0fz2" alt=""><figcaption></figcaption></figure>

## Step 3: Type HEB Circana

In the search box, type "heb circana" and you will see two integration options:

* HEB Circana Data
* HEB Circana Products

<figure><img src="/files/D8bxWsdKUwcZPwKGCjkn" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Important:** You must add both integrations for HEB Circana to work. Add them one at a time.
{% endhint %}

## Step 4: Click HEB Circana Data

Select the HEB Circana Data tile

<figure><img src="/files/3A0HpVRBi5tHTTi543KY" alt=""><figcaption></figcaption></figure>

## Step 5: Configure Integration

A) Set integration name

B) Add a 'source name' for data uniqueness. e.g Canada, USA

C) \[Optional] Click link for the option to 'edit' connection - where you can rename the data source connection if needed (defaults to integration name) and test connection

D) File Name Pattern: Ensure your uploaded files match the expected naming pattern:

> For HEB Circana Data:
>
> * Pattern: heb\_circana\_data\*.csv
> * Examples: heb\_circana\_data\_20240115.csv, heb\_circana\_data\_20240201.csv
> * Date format: YYYYMMDD (8 digits, no separators)
> * Wildcard \* allows for date suffix or other identifiers

{% hint style="info" %}
Important File Format Notes:

* Files must be CSV format
* Header row must be on row 2 (not row 1) - the first row may contain metadata or be blank
* Files must include all required columns (see Integration Specifications section)
  {% endhint %}

<figure><img src="/files/K3GxoPl005D2b34niWgo" alt=""><figcaption></figcaption></figure>

## Step 6: Create Connection

Click 'Create' to establish the connection

<figure><img src="/files/POUnMTzCkE67vvgEcsPV" alt=""><figcaption></figcaption></figure>

## Step 7: Select HEB Circana Products

Return to the New Integration screen then click on HEB Circana Products and complete its setup

<figure><img src="/files/Sk2dZ675X3Z61NWtNEOc" alt=""><figcaption></figcaption></figure>

## Step 8: Configure Integration

A) Set integration name

B) Add a 'source name' for data uniqueness. e.g Canada, USA

C) \[Optional] Click link for the option to 'edit' connection - where you can rename the data source connection if needed (defaults to integration name) and test connection

D) File Name Pattern: Ensure your uploaded files match the expected naming pattern:

For HEB Circana Products:

> * Pattern: heb\_circana\_products\*.csv
> * Examples: heb\_circana\_products\_20240115.csv, heb\_circana\_products\_20240201.csv
> * Date format: YYYYMMDD (8 digits, no separators)
> * Wildcard \* allows for date suffix or other identifiers

<figure><img src="/files/yyQ3u1yMMWoXMXc4XDrW" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Important File Format Notes:

* Files must be CSV format
* Header row must be on row 2 (not row 1) - the first row may contain metadata or be blank
* Files must include all required columns (see Integration Specifications section)
  {% endhint %}

## Step 9: Create Connection

Click 'Create' to establish the connection

<figure><img src="/files/POUnMTzCkE67vvgEcsPV" alt=""><figcaption></figcaption></figure>


# Integration Specifications

This article will help you learn about how Daasity replicates data from H-E-B Circana, limitations to the data we can extract and where the data is stored in the H-E-B Circana schema.

### Integration Overview

H-E-B Circana provides retailer-specific market data for H-E-B stores using Circana as the data source. The integration delivers weekly and aggregated sales data, promotional metrics, distribution information, and product attributes at the market level.

This document provides context on what kind of data is being gathered through this extractor, which data sources that data is coming from, and how the extracted tables relate to each other.

### Integration Availability

This integration is available for:

* Enterprise

### Data Source

The Daasity H-E-B Circana extractor is built based on file-based data delivery (CSV files via S3 upload or manual upload). The following data sources are used by Daasity to replicate data from H-E-B Circana:

* CSV file upload (`heb_circana_data*.csv`)
* CSV file upload (`heb_circana_products*.csv`)

**Data provider:** Circana (retailer-specific implementation for H-E-B)

### H-E-B Circana Schema

The Daasity H-E-B Circana extractor creates these tables using the data sources and replication methods listed. The data is mapped from source CSV file columns to the table based on the mapping logic outlined in each table.

The H-E-B Circana integration consists of two separate integrations, each creating one raw data table:

* [HEB Circana Data](#heb-circana-data)
* [HEB Circana Products](#heb-circana-products)

{% hint style="info" %}
**Note:** The raw data from both tables is combined during transformation to create the final URMS sales report for reporting and analysis in Looker and other reporting tools.
{% endhint %}

{% hint style="warning" %}
**Important:** Both integrations (HEB Circana Data and HEB Circana Products) must have files uploaded and tables created. The transformation pipeline will fail if both tables (`retail.heb_circana_data` and `retail.heb_circana_products`) do not exist.
{% endhint %}

### HEB Circana Data

**Source:** CSV file upload (`heb_circana_data*.csv`)

**Update Method:** UPSERT

**Table Name:** `retail.heb_circana_data`

**Contains:** Sales/fact data including revenue, units sold, promotional metrics, and distribution data

| CSV Column                                  | Database Column                                   |
| ------------------------------------------- | ------------------------------------------------- |
| Geography                                   | geography                                         |
| Time                                        | time                                              |
| Product                                     | product                                           |
| Dollar Sales                                | dollar\_sales                                     |
| Dollar Sales Year Ago                       | dollar\_sales\_year\_ago                          |
| Dollar Sales Any Merch                      | dollar\_sales\_any\_merch                         |
| Dollar Sales Any Merch Year Ago             | dollar\_sales\_any\_merch\_year\_ago              |
| Dollar Sales Price Reductions Only          | dollar\_sales\_price\_reductions\_only            |
| Dollar Sales Price Reductions Only Year Ago | dollar\_sales\_price\_reductions\_only\_year\_ago |
| Dollar Sales Feature Only                   | dollar\_sales\_feature\_only                      |
| Dollar Sales Feature Only Year Ago          | dollar\_sales\_feature\_only\_year\_ago           |
| Dollar Sales Display Only                   | dollar\_sales\_display\_only                      |
| Dollar Sales Display Only Year Ago          | dollar\_sales\_display\_only\_year\_ago           |
| Dollar Sales Feature and Display            | dollar\_sales\_feature\_and\_display              |
| Dollar Sales Feature and Display Year Ago   | dollar\_sales\_feature\_and\_display\_year\_ago   |
| Unit Sales                                  | unit\_sales                                       |
| Unit Sales Year Ago                         | unit\_sales\_year\_ago                            |
| Unit Sales Any Merch                        | unit\_sales\_any\_merch                           |
| Unit Sales Any Merch Year Ago               | unit\_sales\_any\_merch\_year\_ago                |
| ACV Weighted Distribution                   | acv\_weighted\_distribution                       |
| ACV Weighted Distribution Year Ago          | acv\_weighted\_distribution\_year\_ago            |
| Base Dollar Sales                           | base\_dollar\_sales                               |
| Base Dollar Sales Year Ago                  | base\_dollar\_sales\_year\_ago                    |
| Base Unit Sales                             | base\_unit\_sales                                 |
| Base Unit Sales Year Ago                    | base\_unit\_sales\_year\_ago                      |
| Total Points of Distribution                | total\_points\_of\_distribution                   |
| Total Points of Distribution Year Ago       | total\_points\_of\_distribution\_year\_ago        |
| Base Unit Sales Any Merch                   | base\_unit\_sales\_any\_merch                     |
| Base Unit Sales Any Merch Year Ago          | base\_unit\_sales\_any\_merch\_year\_ago          |
| Base Dollar Sales Any Merch                 | base\_dollar\_sales\_any\_merch                   |
| Base Dollar Sales Any Merch Year Ago        | base\_dollar\_sales\_any\_merch\_year\_ago        |
| Weeks in Distribution                       | weeks\_in\_distribution                           |
| Weeks in Distribution Year Ago              | weeks\_in\_distribution\_year\_ago                |
| Number of Stores Selling                    | number\_of\_stores\_selling                       |
| Number of Stores Selling Year Ago           | number\_of\_stores\_selling\_year\_ago            |
| Daasity: timestamp when loaded into DB      | loaded\_at                                        |

### HEB Circana Products

**Source:** CSV file upload (`heb_circana_products*.csv`)

**Update Method:** UPSERT

**Table Name:** `retail.heb_circana_products`

**Contains:** Product dimension data including UPC, brand, category, and product attributes

| CSV Column                             | Database Column  |
| -------------------------------------- | ---------------- |
| Geography                              | geography        |
| Time                                   | time             |
| Product                                | product          |
| UPC 10 digit                           | upc\_10\_digit   |
| Brand                                  | brand            |
| Brand Franchise                        | brand\_franchise |
| Category                               | category         |
| Subcategory                            | subcategory      |
| Manufacturer                           | manufacturer     |
| Daasity: timestamp when loaded into DB | loaded\_at       |


# Workflow Configuration Setup

This page provides information on how the HEB Circana integration can be configured as part of a workflow to extract data.

### Extraction Replication Window

The H-E-B Circana integration processes data whenever the extractor runs in a workflow, after CSV files are uploaded. The workflow runs nightly by default. Each file upload updates existing records for matching geography, time period, and product combinations, and adds new records for any new combinations.

{% hint style="warning" %}
**Important:** Both integrations (HEB Circana Data and HEB Circana Products) must have files uploaded and tables created. The transformation pipeline will fail if both tables (`retail.heb_circana_data` and `retail.heb_circana_products`) do not exist.
{% endhint %}

### Extraction Frequency

The daily extractor automatically fetches files from S3 or manual upload locations. The extractor will process files from up to 3 days ago.

{% hint style="warning" %}
**Important:** The extractor does not detect unprocessed files. Instead, it processes files based on the dates contained within the files themselves. Files with dates outside the expected range may not be loaded, even if the files are present in the upload location. This date-based processing approach is standard for all data file extractors.
{% endhint %}

**File Naming Requirements:**

* Files must follow the naming pattern: `heb_circana_data*.csv` and `heb_circana_products*.csv`
* Files should include a date in the filename using the format `YYYYMMDD` (e.g., `heb_circana_data20240101.csv`)
* **Important:** Files that do not match the expected naming pattern will be skipped by the extractor

**Upload Methods:**

* Manual upload through the UI
* Automated S3 delivery

**Recommendations:**

* Upload files weekly or bi-weekly, aligned with your HEB Circana data delivery schedule
* Upload files as soon as they are received from Circana to minimize data latency
* Ensure files are named correctly to avoid being skipped by the extractor

### Processing Time

Files are processed automatically when the daily workflow containing the extractor runs. Data typically appears in reports within minutes to hours after the workflow run (depending on file size).

{% hint style="info" %}
**Note:** The transformation will process any available data from both tables once they exist. However, the transformation will fail if both tables (`retail.heb_circana_data` and `retail.heb_circana_products`) do not exist.
{% endhint %}

### Data Latency

**Expected Timeline:**

* **File Delivery:** Typically 1-2 weeks after period end (depends on HEB Circana delivery schedule)
* **Upload & Processing:** Files are automatically picked up by the daily extractor, which processes files from up to 3 days ago
* **Total Latency:** Typically 1-3 weeks from period end to reporting availability in Looker


# Transformation Configuration Setup

This page provides instructions on what transform code should be added to a script manifest file to transform H-E-B Circana data into the Unified Retail Market Share Schema (URMS).

### Overview

The H-E-B Circana integration provides retailer-specific market data for H-E-B stores, including sales performance, promotional metrics, and distribution data. The Daasity transformation code maps data from the HEB Circana schema into the Unified Retail Market Schema (URMS) for reporting and analysis.

The integration supports two pipeline variants:

* **HEB Circana WxW (Week-by-Week):** Processes weekly time period data
* **HEB Circana LP (Last Period):** Processes aggregated time periods (4, 12, 24, 52 weeks)

#### Feature Dependencies

You must have enabled our Code Repository feature in order to both access the Daasity transformation code as well as modify a Script Manifest File enabling this code to execute.

We recommend you review the Transformation Configuration section of our Help documentation to familiarize yourself with our workflow engine and script manifest files.

#### Script Manifest File (YML)

**Upstream Transformation Dependencies**

This code will not complete successfully unless the Initialization Code that creates the URMS and URS tables is executed prior to this HEB Circana URMS code in this workflow. Required initialization scripts include:

* URMS schema tables (`0081_OTI_create_urms_tables.sql`)
* URS schema tables (`0080_OTI_create_urs_tables.sql`)

**Transformation Code Requirements**

To enable the data transformation from the HEB Circana schema into URMS, Daasity recommends the following code be added to any Script Manifest File and Workflow.

**HEB Circana LP (Last Period - Aggregated):**

```yaml
urms_heb_circana_lp:
  conditional_integrations: "retail_heb_circana_data AND retail_heb_circana_products"
  scripts:
    - "github://platform-sql-shared/scripts/base/8600_URMS/heb_circana_lp/tests/__reset_heb_circana_lp.sql"
    - "github://platform-sql-shared/scripts/base/8600_URMS/heb_circana_lp/8606_URMS_BAS_heb_circana_lp__base_rows.sql"
    - "github://platform-sql-shared/scripts/base/8600_URMS/heb_circana_lp/8607_URMS_BAS_heb_circana_lp__ly_fanned.sql"
    - "github://platform-sql-shared/scripts/base/8600_URMS/heb_circana_lp/8608_URMS_BAS_heb_circana_lp__normalized.sql"
    - "github://platform-sql-shared/scripts/base/8600_URMS/heb_circana_lp/8611_URMS_BAS_heb_circana_lp__stage_and_load.sql"
    - "github://platform-sql-shared/scripts/base/8600_URMS/heb_circana_lp/8612_URMS_BAS_heb_circana_lp__load_time_period_mappings.sql"
```

**HEB Circana WxW (Week-by-Week):**

```yaml
urms_heb_circana_wxw:
  conditional_integrations: "retail_heb_circana_data AND retail_heb_circana_products"
  scripts:
    - "github://platform-sql-shared/scripts/base/8600_URMS/heb_circana_wxw/tests/__reset_heb_circana_wxw.sql"
    - "github://platform-sql-shared/scripts/base/8600_URMS/heb_circana_wxw/8606_URMS_BAS_heb_circana_wxw__base_rows.sql"
    - "github://platform-sql-shared/scripts/base/8600_URMS/heb_circana_wxw/8607_URMS_BAS_heb_circana_wxw__ly_fanned.sql"
    - "github://platform-sql-shared/scripts/base/8600_URMS/heb_circana_wxw/8608_URMS_BAS_heb_circana_wxw__normalized.sql"
    - "github://platform-sql-shared/scripts/base/8600_URMS/heb_circana_wxw/8611_URMS_BAS_heb_circana_wxw__stage_and_load.sql"
    - "github://platform-sql-shared/scripts/base/8600_URMS/heb_circana_wxw/8613_URMS_BAS_heb_circana_wxw__load_weekly_time_period_mappings.sql"
```

**Important:** Both integrations (`retail_heb_circana_data` AND `retail_heb_circana_products`) must be active for these transformations to run.

We recommend this code be added within a URMS block that transforms all your retail market integrations into the appropriate URMS tables.

If you do not add the above code to a Script Manifest File and create a Workflow with the Script Manifest File added to the workflow, the data extracted from HEB Circana will not be transformed into the downstream URMS tables.

#### URMS Sales Report

The following code will transform HEB Circana sales data into the `urms.sales_report` table:

**LP Variant:**

* `github://platform-sql-shared/scripts/base/8600_URMS/heb_circana_lp/8611_URMS_BAS_heb_circana_lp__stage_and_load.sql`

**WxW Variant:**

* `github://platform-sql-shared/scripts/base/8600_URMS/heb_circana_wxw/8611_URMS_BAS_heb_circana_wxw__stage_and_load.sql`

#### URMS Time Periods

The following code will transform HEB Circana time period data into the `urms.time_period_mappings` table:

**LP Variant:**

* `github://platform-sql-shared/scripts/base/8600_URMS/heb_circana_lp/8612_URMS_BAS_heb_circana_lp__load_time_period_mappings.sql`

**WxW Variant:**

* `github://platform-sql-shared/scripts/base/8600_URMS/heb_circana_wxw/8613_URMS_BAS_heb_circana_wxw__load_weekly_time_period_mappings.sql`

#### URS Products and Locations

The transformation scripts also populate the following URS tables:

* `urs.products` - Product master data (UPC, brand, category, product attributes)
* `urs.locations` - Market/geography data (market-level locations)

These tables are populated by the stage\_and\_load scripts listed above.


# Syndicated Data Integrations


# Circana

Circana is a major syndicated data provider with extensive coverage across conventional retail markets.

The Daasity x Circana integration pulls in weekly, quad-week, and aggregated data across all available geographies and product categories from the Circana data platform. This integration is available for all Daasity Enterprise merchants.


# Integration Setup

Circana is a syndicated data provider with extensive coverage across retail markets and categories, including the sole provider of Kroger data amongst the three major syndicators.

[Contact us](mailto:support@daasity.com) for more information on how to get started working with Circana data.


# Integration Specifications

This document will help you understand the Circana data source and provide technical specifications for Daasity's integration and data model.

Circana is a syndicated data provider with extensive coverage across retail markets and categories. The Daasity x Circana integration pulls in data for weekly, quad-week, and aggregated time periods across all available geographies and product categories.

***

### **Availability**

This integration is available for all Enterprise merchants.

***

### **Refresh Cadence**

Circana data updates every four weeks, typically on the Monday of that week, for a total of 13 data updates per year. This is a standard cadence for syndicated data providers, including Nielsen and SPINS, although the frequency of data updates may vary by contract. After the data has been exported from the Circana platform or API and uploaded into Daasity, it typically takes less than an hour for the new data to be reflected in your data warehouse and reports.

[(Click here to see the Circana data release calendar.)](/core-concepts/data-integrations/setup-guides/retail-integrations/syndicated-data-integrations/circana/data-release-calendar)

***

### **Where to Find This Data**

**Reports**

* **Omnichannel Dashboard**
* **Circana Dashboard**
* **Circana Scorecard**
* **Category Analysis Reports (URMS)**
  * Brand and Category Performance
  * Key Drivers Analysis
  * Distribution Opportunities
  * Pricing Analysis
  * Promotional Evaluation

**Explores**

* **Circana Explore**
* **Unified Retail Category Analysis (URMS) Explore**

***

### **Data Model**

#### **ERD**

*(Click here to view the ERD for the Daasity Circana integration illustrating the different tables and keys to join across tables.)*

***

#### **Source Tables**

**Circana: Latest Period**

* **CSV File:** Circana Latest Period
* **Update Method:** UPSERT
* **Table Name:** \[retail.circana\_lp]

| CSV Column                                     | Database Column                      |
| ---------------------------------------------- | ------------------------------------ |
| Geography                                      | geography                            |
| Time Period                                    | time\_period                         |
| Time Period End Date                           | time\_period\_end\_date              |
| Product Universe                               | product\_universe                    |
| Product Level                                  | product\_level                       |
| Category                                       | category                             |
| Subcategory                                    | subcategory                          |
| Department                                     | department                           |
| Positioning Group                              | positioning\_group                   |
| Brand                                          | brand                                |
| UPC                                            | upc                                  |
| Description                                    | description                          |
| SIZE                                           | size                                 |
| PRODUCT TYPE                                   | product\_type                        |
| PACK COUNT                                     | pack\_count                          |
| Dollars                                        | dollars                              |
| Dollars, Yago                                  | dollars\_yago                        |
| Units                                          | units                                |
| Units, Yago                                    | units\_yago                          |
| Max % ACV                                      | max\_pct\_acv                        |
| Max % ACV, Yago                                | max\_pct\_acv\_yago                  |
| TDP                                            | tdp                                  |
| TDP, Yago                                      | tdp\_yago                            |
| Number of Weeks Selling                        | number\_of\_weeks\_selling           |
| Number of Weeks Selling, Yago                  | number\_of\_weeks\_selling\_yago     |
| Dollars, Promo                                 | dollars\_promo                       |
| Dollars, Promo, Yago                           | dollars\_promo\_yago                 |
| Units, Promo                                   | units\_promo                         |
| Units, Promo, Yago                             | units\_promo\_yago                   |
| Base Dollars                                   | base\_dollars                        |
| Base Dollars, Yago                             | base\_dollars\_yago                  |
| Base Units                                     | base\_units                          |
| Base Units, Yago                               | base\_units\_yago                    |
| # of Stores Selling                            | no\_of\_stores\_selling              |
| # of Stores Selling, Yago                      | no\_of\_stores\_selling\_yago        |
| Dollars, Display Only                          | dollars\_display\_only               |
| Dollars, Display Only, Yago                    | dollars\_display\_only\_yago         |
| Dollars, Feature Only                          | dollars\_feature\_only               |
| Dollars, Feature Only, Yago                    | dollars\_feature\_only\_yago         |
| Dollars, Feature & Display                     | dollars\_feature\_and\_display       |
| Dollars, Feature & Display, Yago               | dollars\_feature\_and\_display\_yago |
| Dollars, TPR                                   | dollars\_tpr                         |
| Dollars, TPR, Yago                             | dollars\_tpr\_yago                   |
| Base Dollars, Promo                            | base\_dollars\_promo                 |
| Base Dollars, Promo, Yago                      | base\_dollars\_promo\_yago           |
| Base Units, Promo                              | base\_units\_promo                   |
| Base Units, Promo, Yago                        | base\_units\_promo\_yago             |
| MD5(Geography + ':' + Time Period + ':' + UPC) | \_\_sync\_key                        |

***

**Circana: WXW**

* **CSV File:** Circana WXW
* **Update Method:** UPSERT
* **Table Name:** \[retail.circana\_wxw]

| CSV Column                                     | Database Column                      |
| ---------------------------------------------- | ------------------------------------ |
| Geography                                      | geography                            |
| Time Period                                    | time\_period                         |
| Time Period End Date                           | time\_period\_end\_date              |
| Product Universe                               | product\_universe                    |
| Product Level                                  | product\_level                       |
| Category                                       | category                             |
| Subcategory                                    | subcategory                          |
| Department                                     | department                           |
| Positioning Group                              | positioning\_group                   |
| Brand                                          | brand                                |
| UPC                                            | upc                                  |
| Description                                    | description                          |
| SIZE                                           | size                                 |
| PRODUCT TYPE                                   | product\_type                        |
| PACK COUNT                                     | pack\_count                          |
| Dollars                                        | dollars                              |
| Dollars, Yago                                  | dollars\_yago                        |
| Units                                          | units                                |
| Units, Yago                                    | units\_yago                          |
| Max % ACV                                      | max\_pct\_acv                        |
| Max % ACV, Yago                                | max\_pct\_acv\_yago                  |
| TDP                                            | tdp                                  |
| TDP, Yago                                      | tdp\_yago                            |
| Number of Weeks Selling                        | number\_of\_weeks\_selling           |
| Number of Weeks Selling, Yago                  | number\_of\_weeks\_selling\_yago     |
| Dollars, Promo                                 | dollars\_promo                       |
| Dollars, Promo, Yago                           | dollars\_promo\_yago                 |
| Units, Promo                                   | units\_promo                         |
| Units, Promo, Yago                             | units\_promo\_yago                   |
| Base Dollars                                   | base\_dollars                        |
| Base Dollars, Yago                             | base\_dollars\_yago                  |
| Base Units                                     | base\_units                          |
| Base Units, Yago                               | base\_units\_yago                    |
| # of Stores Selling                            | no\_of\_stores\_selling              |
| # of Stores Selling, Yago                      | no\_of\_stores\_selling\_yago        |
| Dollars, Display Only                          | dollars\_display\_only               |
| Dollars, Display Only, Yago                    | dollars\_display\_only\_yago         |
| Dollars, Feature Only                          | dollars\_feature\_only               |
| Dollars, Feature Only, Yago                    | dollars\_feature\_only\_yago         |
| Dollars, Feature & Display                     | dollars\_feature\_and\_display       |
| Dollars, Feature & Display, Yago               | dollars\_feature\_and\_display\_yago |
| Dollars, TPR                                   | dollars\_tpr                         |
| Dollars, TPR, Yago                             | dollars\_tpr\_yago                   |
| Base Dollars, Promo                            | base\_dollars\_promo                 |
| Base Dollars, Promo, Yago                      | base\_dollars\_promo\_yago           |
| Base Units, Promo                              | base\_units\_promo                   |
| Base Units, Promo, Yago                        | base\_units\_promo\_yago             |
| MD5(Geography + ':' + Time Period + ':' + UPC) | \_\_sync\_key                        |

***

**Circana: Quad Week**

* **CSV File:** Circana Quad Week
* **Update Method:** UPSERT
* **Table Name:** \[retail.circana\_quad]

| CSV Column                    | Database Column                  |
| ----------------------------- | -------------------------------- |
| Geography                     | geography                        |
| Time Period                   | time\_period                     |
| Time Period End Date          | time\_period\_end\_date          |
| Product Universe              | product\_universe                |
| Product Level                 | product\_level                   |
| Category                      | category                         |
| Subcategory                   | subcategory                      |
| Department                    | department                       |
| Positioning Group             | positioning\_group               |
| Brand                         | brand                            |
| UPC                           | upc                              |
| Description                   | description                      |
| SIZE                          | size                             |
| PRODUCT TYPE                  | product\_type                    |
| PACK COUNT                    | pack\_count                      |
| Dollars                       | dollars                          |
| Dollars, Yago                 | dollars\_yago                    |
| Units                         | units                            |
| Units, Yago                   | units\_yago                      |
| Max % ACV                     | max\_pct\_acv                    |
| Max % ACV, Yago               | max\_pct\_acv\_yago              |
| TDP                           | tdp                              |
| TDP, Yago                     | tdp\_yago                        |
| Number of Weeks Selling       | number\_of\_weeks\_selling       |
| Number of Weeks Selling, Yago | number\_of\_weeks\_selling\_yago |
| Dollars, Promo                | dollars\_promo                   |
| Dollars, Promo, Yago          | dollars\_promo\_yago             |
| Units, Promo                  | units\_promo                     |
| Units, Promo, Yago            | units\_promo\_yago               |


# Data Release Calendar

The Circana Data Release Calendar outlines the release dates and corresponding period end dates for the next two years, as well as planned downtime for Satori during each update period.

#### Circana Data Update Calendar 2024

| Period | Period Ending | Release Date | SATORI Offline (7:00 PM CST) |
| ------ | ------------- | ------------ | ---------------------------- |
| 1      | 1/21/2024     | 2/5/2024     | 2/2/2024                     |
| 2      | 2/18/2024     | 3/4/2024     | 3/1/2024                     |
| 3      | 3/17/2024     | 4/1/2024     | 3/29/2024                    |
| 4      | 4/14/2024     | 4/29/2024    | 4/26/2024                    |
| 5      | 5/12/2024     | 5/27/2024    | 5/24/2024                    |
| 6      | 6/9/2024      | 6/24/2024    | 6/21/2024                    |
| 7      | 7/7/2024      | 7/22/2024    | 7/19/2024                    |
| 8      | 8/4/2024      | 8/19/2024    | 8/16/2024                    |
| 9      | 9/1/2024      | 9/16/2024    | 9/13/2024                    |
| 10     | 9/29/2024     | 10/14/2024   | 10/11/2024                   |
| 11     | 10/27/2024    | 11/11/2024   | 11/8/2024                    |
| 12     | 11/24/2024    | 12/9/2024    | 12/6/2024                    |
| 13     | 12/22/2024    | 1/6/2025     | 1/3/2025                     |

#### Circana Data Update Calendar 2025

| Period | Period Ending | Release Date | SATORI Offline (7:00 PM CST) |
| ------ | ------------- | ------------ | ---------------------------- |
| 1      | 1/19/2025     | 2/3/2025     | 1/31/2025                    |
| 2      | 2/16/2025     | 3/3/2025     | 2/28/2025                    |
| 3      | 3/16/2025     | 3/31/2025    | 3/28/2025                    |
| 4      | 4/13/2025     | 4/28/2025    | 4/25/2025                    |
| 5      | 5/11/2025     | 5/26/2025    | 5/23/2025                    |
| 6      | 6/8/2025      | 6/23/2025    | 6/20/2025                    |
| 7      | 7/6/2025      | 7/21/2025    | 7/18/2025                    |
| 8      | 8/3/2025      | 8/18/2025    | 8/15/2025                    |
| 9      | 8/31/2025     | 9/15/2025    | 9/12/2025                    |
| 10     | 9/28/2025     | 10/13/2025   | 10/10/2025                   |
| 11     | 10/26/2025    | 11/10/2025   | 11/7/2025                    |
| 12     | 11/23/2025    | 12/8/2025    | 12/5/2025                    |
| 13     | 12/21/2025    | 1/5/2026     | 1/2/2026                     |


# H-E-B Circana

Integrate your H-E-B Circana data into your existing Circana integration, or create a new Circana integration exclusively for analysis of the H-E-B data.

To get started, [contact us](mailto:support@daasity.com) to get connected with a Daasity team member who can walk you through the setup process.\
\
For data model specifications see the [Circana Integration Specifications](https://help.daasity.com/extract/all-integrations/circana/integration-specifications) page.


# Target (Daily Sales + Historical Sales)


# Target - Integration Specifications

## Target Sales

This is the pipeline for the Target Sales data. *Note that there's also the Target Inventory Pipeline.*

#### Raw Data

This pipeline incorperates two raw-data files:

* `retail.target_br_2yr_weekly_gm_tcin_loc` (the historical file)
* `retail.target_daily_sales_tcin_loc` (the current data)

#### Mappings

The mappings between the raw data and the final data are demonstrated in the following table.

**URS Sales Report**

| Source Field   | Destination Field             | Data Type      | Description |
| -------------- | ----------------------------- | -------------- | ----------- |
|                | sales\_report\_id \*          | VARCHAR(255)   |             |
| SALES\_DATE    | **sales\_date**               | DATE           |             |
| SALES\_DATE    | **source\_sales\_date**       | DATE           |             |
|                | location\_id \*               | VARCHAR(255)   |             |
|                | product\_id \*                | VARCHAR(255)   |             |
| SALE\_AMOUNT   | **dollar\_sales**             | DECIMAL(24,10) |             |
| SALE\_QUANTITY | **unit\_sales**               | DECIMAL(24,10) |             |
|                | original\_currency \*         | CHAR(3)        |             |
|                | currency\_conversion\_rate \* | DECIMAL(24,10) |             |
|                | converted\_currency \*        | CHAR(3)        |             |
|                | \_\_file\_name \*             | VARCHAR(255)   |             |
|                | \_\_source\_id \*             | VARCHAR(64)    |             |
|                | \_\_source\_display\_name \*  | VARCHAR(255)   |             |
|                | \_\_loaded\_at \*             | TIMESTAMP      |             |
|                | \_\_synced\_at \*             | TIMESTAMP      |             |

\* *Generated in the pipeline*

**URS Products**

| Source Field                                                                                 | Destination Field     | Data Type    | Description |
| -------------------------------------------------------------------------------------------- | --------------------- | ------------ | ----------- |
|                                                                                              | product\_id \*        | VARCHAR(255) |             |
| ITEM\_DESCRIPTION                                                                            | listing\_sku \*       | VARCHAR(255) |             |
| ITEM\_DESCRIPTION                                                                            | master\_sku \*        | VARCHAR(255) |             |
| "upc"                                                                                        | **reporting\_level**  | VARCHAR(255) |             |
| ITEM\_DESCRIPTION                                                                            | **product\_name**     | VARCHAR(255) |             |
| BARCODE                                                                                      | **upc**               | VARCHAR(255) |             |
| BRAND\_NAME                                                                                  | **brand\_name**       | VARCHAR(255) |             |
|                                                                                              | department            | VARCHAR(255) |             |
|                                                                                              | category              | VARCHAR(255) |             |
|                                                                                              | subcategory           | VARCHAR(255) |             |
|                                                                                              | product\_class        | VARCHAR(255) |             |
|                                                                                              | product\_type         | VARCHAR(255) |             |
| `concat( split_part(item_description, ' ', -2), ' ', split_part(item_description, ' ', -1))` | **product\_size**     | VARCHAR(255) |             |
| `split_part(item_description, ' ', -1)`                                                      | **unit\_of\_measure** | VARCHAR(255) |             |
|                                                                                              | pack\_count           | DECIMAL(0,6) |             |
|                                                                                              | \_\_file\_name \*     | VARCHAR(255) |             |
|                                                                                              | \_\_source\_id \*     | VARCHAR(64)  |             |
|                                                                                              | \_\_loaded\_at \*     | TIMESTAMP    |             |
|                                                                                              | \_\_synced\_at \*     | TIMESTAMP    |             |

\* *Generated in the pipeline*

**URS Locations**

|                                       |                          |              |             |
| ------------------------------------- | ------------------------ | ------------ | ----------- |
| `target_br_2yr_weekly_gm_tcin_loc`    | Destination Field        | Data Type    | Description |
|                                       | location\_id \*          | VARCHAR(255) |             |
| "Target"                              | **retailer\_name**       | VARCHAR(255) |             |
| platform.store\_locations.store\_name | **store\_name**          | VARCHAR(255) |             |
|                                       | market\_name             | VARCHAR(255) |             |
|                                       | warehouse\_name          | VARCHAR(255) |             |
|                                       | retailer\_division       | VARCHAR(255) |             |
| LOCATION\_ID                          | **retailer\_store\_id**  | VARCHAR(255) |             |
| platform.store\_locations.address     | **address1**             | VARCHAR(255) |             |
|                                       | address2                 | VARCHAR(255) |             |
| platform.store\_locations.city        | **city**                 | VARCHAR(255) |             |
| platform.store\_locations.state       | **state**                | VARCHAR(255) |             |
| platform.store\_locations.country     | **country**              | VARCHAR(255) |             |
| platform.store\_locations.zip\_code   | **zipcode**              | VARCHAR(255) |             |
| TRUE                                  | **is\_store\_level**     | BOOLEAN      |             |
| FALSE                                 | **is\_warehouse\_level** | BOOLEAN      |             |
| FALSE                                 | **is\_market\_level**    | BOOLEAN      |             |
|                                       | \_\_file\_name \*        | VARCHAR(255) |             |
|                                       | \_\_source\_id \*        | VARCHAR(64)  |             |
|                                       | \_\_loaded\_at \*        | TIMESTAMP    |             |
|                                       | \_\_synced\_at \*        | TIMESTAMP    |             |

\* *Generated in the pipeline*

**URS Specific to Target Sales**

The destination table that we map other Target metrics into is `urs.specific_to_target`. All of these should be available in the explore for this source.

```
    sales_report_id VARCHAR(255),
    vendor_id VARCHAR(255),
    barcode VARCHAR(255),
    tcin VARCHAR(255),
    dpci VARCHAR(255),
    manufacturer_style VARCHAR(255),
    dept VARCHAR(255),
    class VARCHAR(255),
    origination_channel VARCHAR(255),
    reporting_channel VARCHAR(255),
    fulfillment_type VARCHAR(255),
    drive_up_sale_a DECIMAL(24,10),
    drive_up_sale_q BIGINT,
    location_id VARCHAR(255),
    circular_sale_amount DECIMAL(24,10),
    circular_sale_quantity BIGINT,
    clearance_sale_amount DECIMAL(24,10),
    clearance_sale_quantity BIGINT,
    promo_sale_amount DECIMAL(24,10),
    promo_sale_quantity BIGINT,
    regular_sale_amount DECIMAL(24,10),
    regular_sale_quantity BIGINT,
    circle_sale_amount DECIMAL(24,10),
    circle_sale_quantity BIGINT,
    mature_sale_amount DECIMAL(24,10),
    mature_sale_quantity BIGINT,
    comparable_sale_amount DECIMAL(24,10),
    comparable_sale_quantity BIGINT,
    ad_comparable_sale_amount DECIMAL(24,10),
    ad_comparable_sale_quantity BIGINT,
    brand_id VARCHAR(255),
    return_guest_amount DECIMAL(24,10),
    return_guest_quantity BIGINT,
    shipt_app_sale_a DECIMAL(24,10),
    shipt_app_sale_q BIGINT,
    shipt_target_sale_a DECIMAL(24,10),
    shipt_target_sale_q BIGINT,
    __file_name VARCHAR(255),
    __source_id VARCHAR(64),
    __loaded_at TIMESTAMP,
    __synced_at TIMESTAMP
```

#### Pipeline architecture

This pipeline first brings in the historical data and transforms it, inserting it into URS schema. Then the pipeline runs for the regular extracts. In both cases, we join to `platform.store_locations` to bring in store level data.


# Whole Foods Market

Whole Foods Market portal data provides store-level product sales, distribution and velocity metrics across your portfolio of products and categories.

This integration enables you to gain insights into sales performance, distribution reach, and product velocity at the store, regional and total Whole Foods level.


# Integration Setup

This page will help you setup Whole Foods for the first time, and provide instructions for recurring data updates as needed.

**Weekly Updates:** Once the integration is setup, data is updated weekly every Thursday morning (EST) with the prior weeks data through Saturday.

***

## Step 1: Setup Daasity (Red Fox) as a broker.&#x20;

1. [Contact support](mailto:support@daasity.com) to initiate this process
2. Allow up to 3-10 business days for the data to become available to the Daasity team through the Whole Foods portal connection.&#x20;

## Step 2: Initial Data Pull

Once data is available through the Daasity broker connection, our data services team will oversee the initial data pull including 2 years of historical data. \
\
The data services team will then proceed to complete the integration setup outlined below, and confirm when historical data is loaded and reports are ready (typically 1-2 business days after receiving the data).

## Step 3: Setup the Whole Foods Integration in Daasity App:

### 1: Navigate to 'New Integration' screen

In the Daasity app, click **Integrations** in the left-hand menu, and then the **New Integration** button in the upper-right corner.

<figure><img src="/files/WiuqccEFmz3YDzHqfIyJ" alt=""><figcaption></figcaption></figure>

### 2: Choose the Whole Foods Market integration

In the search box, type "Whole Foods" and choose the "Whole Foods Market" integration.

<figure><img src="/files/oAQYfsiy7AZE7cJxvPpC" alt=""><figcaption></figcaption></figure>

### 3: Name the integration

Give the integration a name. This is the name that will be displayed in your integrations list in the Daasity app.&#x20;

Recommendation is to keep it simple, "Whole Foods Market", unless you have multiple integrations for different countries in which case adding the country into the name will help keep things clear, *example: "Whole Foods Market USA" and "Whole Foods Market Canada"*.

<figure><img src="/files/fc2ltBZztexjZWTtApRt" alt=""><figcaption></figcaption></figure>


# Integration Specifications

This document will help you understand the Whole Foods Market Portal data source and provide technical specifications for Daasity's integration and data model.

Whole Foods Market Portal data provides store-level product sales, distribution, and velocity metrics across your portfolio of products and categories. This integration enables you to gain insights into sales performance, distribution reach, and product velocity at both total Whole Foods and regional levels. Available for all Enterprise merchants.

***

### **Refresh Cadence**

Data from the Whole Foods Market Portal is updated weekly every Thursday morning (EST) with the prior week's data through Saturday. Once the integration is set up, the data is automatically refreshed on this schedule, ensuring you always have access to the most current metrics.

### **Where to Find This Data**

**Reports**

* **Omnichannel Dashboard**
* **Whole Foods Market Dashboard**

**Explores**

* **Whole Foods Market Explore**
* **Unified Retail Schema (URS) Explore**

***

### **Data Model**

#### **ERD**

*(Click here to view the ERD for the Daasity Whole Foods Market integration illustrating the different tables and keys to join across tables.)*

***

### **Source Table**

**Whole Foods Market**

* **CSV File:** Whole Foods Market
* **Update Method:** UPSERT
* **Table Name:** \[retail.wfm]

| CSV Column                                                            | Database Column         |
| --------------------------------------------------------------------- | ----------------------- |
| Brand                                                                 | brand                   |
| Family                                                                | family                  |
| Category                                                              | category                |
| Subcategory                                                           | subcategory             |
| Class                                                                 | class                   |
| Scan Code                                                             | scan\_code              |
| ASIN                                                                  | asin                    |
| Item Description                                                      | item\_description       |
| Item Size                                                             | item\_size              |
| Item UOM                                                              | item\_uom               |
| Operational Area                                                      | operational\_area       |
| Store Name                                                            | store                   |
| Store Number                                                          | store\_number           |
| Store Status                                                          | store\_status           |
| Channel Type                                                          | channel\_type           |
| Week Desc                                                             | week\_desc              |
| Net Sales                                                             | net\_sales              |
| Net Sales LY                                                          | net\_sales\_ly          |
| % Net Sales YOY                                                       | pct\_net\_sales\_yoy    |
| Unit Sales                                                            | unit\_sales             |
| Unit Sales LY                                                         | unit\_sales\_ly         |
| % Unit Sales YOY                                                      | pct\_unit\_sales\_yoy   |
| Avg Net Retail Price                                                  | avg\_net\_retail\_price |
| Gross Sales                                                           | gross\_sales            |
| Return Sales                                                          | return\_sales           |
| Gross Units                                                           | gross\_units            |
| Return Units                                                          | return\_units           |
| MD5(ASIN + ':' + Store Number + ':' + Channel Type + ':' + Week Desc) | \_\_sync\_key           |


# Bottom of Integration Specifications

#### **Transform Configuration**

*(Placeholder for future updates.)*

***

#### **Workflow Configuration**

*(Placeholder for future updates.)*

***

#### **Additional Resources**

For more information on how to set up the Whole Foods Market integration or how to use Whole Foods Market data, see the related articles and resources linked below:

* How to set up the integration (Integration Setup)
* Where to find dashboards and explores in Daasity (Report Library)
* How to use Whole Foods Market data (link to URMS analysis guides + playbooks)
* Data Catalog: Definitions of all Whole Foods Market and URMS fields and report dimensions
* Metrics Glossary: How to understand Whole Foods Market metrics, and when to use certain measures


# How to use

Whole Foods Market portal data provides store-level product sales, distribution and velocity metrics across your products and categories.

### Core Use Cases

#### Store-level Performance

Analyze product performance at individual store levels. Identify which stores are driving sales, track sales trends, and understand the factors influencing store performance. This information is crucial for making strategic decisions about inventory distribution, promotions, and store-level marketing efforts.

#### Out-of-Stock and Void Reporting

Monitor product availability across stores, identify products that are frequently out of stock or have voids, address supply chain issues to optimize stock levels and reduce lost sales opportunities.

#### Promotional Effectiveness

Evaluating promotional effectiveness involves analyzing the impact of marketing campaigns and promotions on sales. Determine which promotions drive sales, compare baseline sales with incremental sales during promotional periods, and optimize future promotional strategies to maximize return on investment.

#### New Item Performance Tracker

Tracking the performance of new items is essential for understanding their market acceptance and sales trends. Monitor sales and distribution trends for new products and make informed decisions about product launches, marketing strategies, and inventory management.

### Metrics

Here are the key metrics tracked for Whole Foods Market data:

* &#x20;**Dollars**: Total dollar sales. &#x20;
* &#x20;**Units**: Total number of units sold.
* **ARP:** Average retail price per unit.
* **Stores Selling**: Number of stores with items selling.    &#x20;
* **TDP**: Total count of unique distribution placements (i.e., store & item combinations)
* **Avg # Items Selling**:  Average number of items sold per store selling.   &#x20;
* **Avg U/S/W/I**:  The average weekly units sold per item per store selling
* **Return Amount**:    Total value of returned products.                       &#x20;
* &#x20;**Gross Sales**:  Total sales revenue, including returns (Net Sales + Return Amount).       &#x20;
* &#x20;**% Returns**:       The percentage of returns calculated as Return Amount divided by Gross Sales.

### Reporting Comparison Periods

* **YoY (Year-over-Year)**: Comparing the current period's metrics to the same period in the previous year.
* **PoP (Period-over-Period)**: Comparing the current period's metrics to the previous period.


# Internal: Managed Services

Getting started with the Whole Foods integration setup.  Take the following steps to build reports for the first time, and follow these steps on a weekly basis

**Step 1: Click on the below link and sign in with the credentials.**

{% embed url="<https://us-east-1.quicksight.aws.amazon.com/sn/auth/signin?qs-signin-user-auth=false&enable-sso=0&directory_alias=wfm-vrp&redirect_uri=https%3A%2F%2Fus-east-1.quicksight.aws.amazon.com%2Fsn%2Fstart%3Fdirectory_alias%3Dwfm-vrp%26enable-sso%3D0%26qs-signin-user-auth%3Dfalse%26redirect_uri%3Dhttps%253A%252F%252Fus-east-1.quicksight.aws.amazon.com%252Fsn%252Fstart%253Fdirectory_alias%253Dwfm-vrp%2526enable-sso%253D0%2526state%253DhashArgs%252523%2526isauthcode%253Dtrue%26state%3DhashArgs%2523%26isauthcode%3Dtrue>" %}

**Step 2: Select Report builder Channel.**

<figure><img src="/files/6ESOFchQ45NnkCwTu04t" alt=""><figcaption></figcaption></figure>

**Step 3: Select Weekly Store Item Summary and select one by one as mentioned below.**

1\)   Country – Select USA or CANADA

2\)   Brand – Select required brand-  Eg (Back to Nature)

3\)   Category – Select All

4\)   Operational Area – Select All

5\)   Store – Select All

6\)   Select Weeks to View Data- ( Select the latest 52 weeks)

<figure><img src="/files/HzDTn9kBoRjg1A4ZFgew" alt=""><figcaption></figcaption></figure>

**Step 4: Export file – export file in CSV format**

<figure><img src="/files/RnwjUOsXsmg2DUPHa1If" alt=""><figcaption></figcaption></figure>

**Step 4: Once Files is exported , download the file**


# Integration Setup: Setup Daasity as a Broker

How to setup access for the Daasity team to manage your Whole Foods data refresh.

### 1: Provide access to the Daasity Support Team:

1. Step 1
2. Step 2

### Step 2: \~1 week wait.

Allow up to 3-10 business days for the data to become available to the Daasity team through the Whole Foods portal connection. As soon as the data is in our system, our data operations team will manage the integration setup and confirm when your data and reports are ready (1-2 days after receiving the data).

## Self-Service Setup:&#x20;

Proceed to next page, how to pull / upload the Whole Foods data.

<br>


# Digital Integrations


# Alchemer


# Integration Setup

To connect Alchemer please follow the steps below

{% hint style="warning" %}
You should get an API Key via the Alchemer UI or their support team prior to following these steps.  Here are [instructions from Alchemer](https://apihelp.alchemer.com/help/authentication) on how to create an API Key
{% endhint %}

## Step 1: Navigate to Integrations

Navigate to the Integrations screen by clicking on Integrations on the left nav bar

<figure><img src="/files/uj2KFg7az1P2a7Fqyw70" alt=""><figcaption></figcaption></figure>

## Step 2: Select New Integration

Click on New Integration on the top right

<figure><img src="/files/s8ONQxGdyBSvOldsA6ph" alt=""><figcaption></figcaption></figure>

## Step 3: Select Alchemer

Find and click on the Alchemer icon

<figure><img src="/files/RQrkEYb3l3kEhdHopQ8o" alt=""><figcaption></figcaption></figure>

## Step 4: Create the Integration

* Give your Integration a name
* Enter the API Key
* Click on Create in the upper right once the fields have been completed

<figure><img src="/files/hErIzasTM4sCMARpZSho" alt=""><figcaption></figcaption></figure>

## Step 5: Load Historical Data

<figure><img src="/files/effkxFAfoP7GsX2Hnlfx" alt=""><figcaption></figcaption></figure>


# Integration Specifications

This article will help you learn about how Daasity replicates data from Alchemer, limitations to the data we can extract and where the data is stored in the Alchemer schema.

## Integration Overview

Alchemer, formerly named Survey Gizmo, is a survey software and customer feedback management platform that helps businesses understand and transform their engagement with markets, customers and employees.&#x20;

This document provides context on what kind of data is being gathered through this extractor, which endpoints that data is coming from, and how the extracted tables relate to each other.&#x20;

## **Integration Availability**

This integration is available for:

* Enterprise

## API Endpoints

The Daasity Alchemer extractor is built based on this [Alchemer API Documentation](https://apihelp.alchemer.com/help). The following endpoint is used by Daasity to replicate data from Alchemer:

* [Survey](https://apihelp.alchemer.com/help/survey-object-v5)
* [SurveyPage](https://apihelp.alchemer.com/help/surveypage-sub-object-v5)
* [SurveyResponse](https://apihelp.alchemer.com/help/surveyresponse-sub-object-v5)

## Entity Relationship Diagram (ERD)

[Click here to view the ERD for the Daasity Alchemer integration](https://lucid.app/documents/embedded/5f831d84-6a00-426e-b559-dd9e6cc7f405) illustrating the different tables and keys to join across tables.

## Alchemer Schema

The Daasity Alchemer extractor creates these tables using the endpoints and replication methods listed. The data is mapped from source API endpoint to the table based on the mapping logic outlined in each table.

* [Surveys](#surveys)
* [Questions](#questions)
* [Question Options](#question-options)
* [Responses](#responses)
* [Response Answers](#response-answers)
* [Response Answer Options](#response-answer-options)

### **Surveys**

* Endpoint: [Survey](https://apihelp.alchemer.com/help/survey-object-v5)
* Update Method: UPSERT
* Table Name: \[`survey_gizmo.surveys`]

| JSON Element                           | Database Column |
| -------------------------------------- | --------------- |
| survey::id                             | id              |
| survey::title                          | title           |
| survey::created\_on                    | created\_at     |
| survey::modified\_on                   | updated\_at     |
| Daasity: timestamp when loaded into DB | loaded\_at      |

### **Questions**

* Endpoint: [SurveyPage](https://apihelp.alchemer.com/help/surveypage-sub-object-v5)
* Update Method: UPSERT
* Table Name: \[`survey_gizmo.questions`]

| JSON Element                           | Database Column      |
| -------------------------------------- | -------------------- |
| MD5(survey::id + survey::question::id) | id                   |
| survey::id                             | survey\_id           |
| survey::question::id                   | origin\_question\_id |
| survey::question::title::English       | title                |
| survey::question::page\_id             | page\_id             |
| survey::question::position             | position             |
| Daasity: timestamp when loaded into DB | loaded\_at           |

### **Question Options**

* Endpoint: [SurveyPage](https://apihelp.alchemer.com/help/surveypage-sub-object-v5)
* Update Method: UPSERT
* Table Name: \[`survey_gizmo.question_options`]

| JSON Element                                    | Database Column    |
| ----------------------------------------------- | ------------------ |
| MD5(survey::id + survey::question::options::id) | option+id          |
| survey::question::options::id                   | origin\_option\_id |
| MD5(survey::id + survey::question::id)          | question\_id       |
| survey::question::option::title::English        | title              |
| survey::question::option::properties::disabled  | disabled           |
| survey::question::option::properties::position  | position           |
| Daasity: timestamp when loaded into DB          | loaded\_at         |

### **Responses**

* Endpoint: [SurveyResponse](https://apihelp.alchemer.com/help/surveyresponse-sub-object-v5)
* Update Method: UPSERT
* Table Name: \[`survey_gizmo.responses`]

| JSON Element                           | Database Column      |
| -------------------------------------- | -------------------- |
| MD5(response::id)                      | id                   |
| survey::id                             | survey\_id           |
| response::id                           | origin\_response\_id |
| response::status                       | status               |
| response::date\_started                | started\_at          |
| response::date\_submitted              | completed\_at        |
| response::params::email                | email                |
| response::params::firstname            | first\_name          |
| response::params::subscriptionid       | subscription\_id     |
| response::params::orderid              | order\_id            |
| response::params::customerid           | customer\_id         |
| response::params::emailid              | email\_id            |
| Daasity: timestamp when loaded into DB | loaded\_at           |

### **Response Answers**

* Endpoint: [SurveyResponse](https://apihelp.alchemer.com/help/surveyresponse-sub-object-v5)
* Update Method: UPSERT
* Table Name: \[`survey_gizmo.response_answers`]

| JSON Element                                                               | Database Column |
| -------------------------------------------------------------------------- | --------------- |
| MD5(response::id + response::question::id)                                 | id              |
| MD5(response::id)                                                          | response\_id    |
| MD5(survey::id + response::question::id)                                   | question\_id    |
| response::answer                                                           | answer          |
| survey::id + response::id + response::question::id + question + loaded\_at | answer\_options |
| response::question::shown                                                  | shown           |
| Daasity: timestamp when loaded into DB                                     | loaded\_at      |

### **Response Answer Options**

* Endpoint: [SurveyResponse](https://apihelp.alchemer.com/help/surveyresponse-sub-object-v5)
* Update Method: UPSERT
* Table Name: \[`survey_gizmo.response_answer_options`]

| JSON Element                                                                                 | Database Column      |
| -------------------------------------------------------------------------------------------- | -------------------- |
| MD5(response::question\_answer::id + response::question\_answer::options::id)                | id                   |
| MD5(survey::id + response::question\_answer::options::id)                                    | question\_option\_id |
| response::question\_answer::id                                                               | response\_answer\_id |
| response::question\_answer::options::option \|\| response::question\_answer::options::answer | answer               |
| response::question\_answer::options::rank                                                    | rank                 |
| Daasity: timestamp when loaded into DB                                                       | loaded\_at           |


# Workflow Configuration Setup

This page provides information on how the Alchemer integration can be configured as part of a workflow to extract data

## Extraction Replication Window

The Alchemer integration will replicate data for the last 24 hours to the beginning of the prior day every time the extraction is run

## Extraction Frequency

The integration can be configured to run and extract data up to every hour

{% hint style="info" %}
We recommend this integration be set to extract **daily**
{% endhint %}


# Transformation Configuration Setup

This pages provides instructions on what transform code should be added to a script manifest file to transform Alchemer data

{% hint style="info" %}
There is no base code to transform Alchemer data into any of the Daasity Unified Schemas
{% endhint %}


# Algolia


# Integration Setup

To connect Algolia please follow the steps below

{% hint style="warning" %}
You should get an API Key via Algolia UI or their support team prior to following these steps.  Read this [Algolia article](https://www.algolia.com/doc/guides/security/api-keys/) to learn more about how to add API keys
{% endhint %}

## Step 1: Navigate to Integrations

Navigate to the Integrations screen by clicking on Integrations on the left nav bar

<figure><img src="/files/uj2KFg7az1P2a7Fqyw70" alt=""><figcaption></figcaption></figure>

## Step 2: Select New Integration

Click on New Integration on the top right

<figure><img src="/files/s8ONQxGdyBSvOldsA6ph" alt=""><figcaption></figcaption></figure>

## Step 3: Select Algolia

Find and click on the Algolia icon

<figure><img src="/files/45v8ozI7lYwoQ4eC73gW" alt=""><figcaption></figcaption></figure>

## Step 4: Create the Integration

* Give your Integration a name
* Enter the API Key
* Enter the Application ID
* Click on Create in the upper right once the fields have been completed

<figure><img src="/files/cH6PzPIkh4Qk3xQrM1bn" alt=""><figcaption></figcaption></figure>

## Step 5: Load Historical Data

<figure><img src="/files/53X7jue81TOkICMochyK" alt=""><figcaption></figcaption></figure>


# Integration Specifications

This article will help you learn about how Daasity replicates data from Algolia, limitations to the data we can extract and where the data is stored in the Algolia schema

## Integration Overview

Algolia helps businesses across industries quickly create relevant, scalable, and lightning-fast Search and Discovery experiences.

The Daasity Algolia integration returns data related to the performance of Site Search which allows merchants to understand what are the most important and trending terms that customers querying on the merchant site. This information is important because customers typically search for what is not easily found upon their visit. Algolia users may reveal product and merchandising opportunities that will lead to increased revenue.

## **Integration Availability**

This integration is available for:

* Enterprise

## API Endpoints

The Daasity Algolia extractor is built based on this [Algolia API Documentation](https://www.algolia.com/doc/rest-api/analytics/#search-analytics). The following endpoint is used by Daasity to replicate data from Algolia:

* [Top Searches](https://www.algolia.com/doc/rest-api/analytics/#get-top-searches)

## Entity Relationship Diagram (ERD)

[Click here to view the ERD for the Daasity Algolia integration](https://lucid.app/documents/embedded/37cd1b40-9a31-4509-a4cd-48a7c47b75b3) illustrating the different tables and keys to join across tables.

## Algolia Schema

The Daasity Algolia extractor creates these tables using the endpoints and replication methods listed. The data is mapped from source API endpoint to the table based on the mapping logic outlined in each table.

* [Searches](#searches)

{% @lucid/lucid-component url="<https://lucid.app/lucidchart/37cd1b40-9a31-4509-a4cd-48a7c47b75b3/edit?invitationId=inv_aca1e3e8-c707-48fc-a80b-634ce12fae1b>" fullWidth="true" %}

### **Searches**

* Endpoint: [Top Searches](https://www.algolia.com/doc/rest-api/analytics/#get-top-searches)
* Update Method: UPSERT
* Table Name: \[`algolia.searches`]

| JSON Element                           | Database Column          |
| -------------------------------------- | ------------------------ |
| MD5(search + ':' + event\_at)          | search\_id               |
| search                                 | search\_term             |
| startDate                              | event\_at                |
| count                                  | searches                 |
| nbHits                                 | hits                     |
| clickCount                             | clicks                   |
| conversionCount                        | conversions              |
| averageClickPosition                   | average\_click\_position |
| Daasity: MD5(search + event\_at)       | \_\_sync\_key            |
| Daasity: account\_id                   | \_account\_id            |
| Daasity: timestamp when loaded into DB | \_\_synced\_at           |


# Workflow Configuration Setup

This page provides information on how the Algolia integration can be configured as part of a workflow to extract data

## Extraction Replication Window

The Algolia integration will replicate data for the last 48 hours to the beginning of that day every time the extraction is run

## Extraction Frequency

The integration can be configured to run and extract data up to every hour

{% hint style="info" %}
We recommend this integration be set to extract **daily**
{% endhint %}


# Transformation Configuration Setup

This pages provides instructions on what transform code should be added to a script manifest file to transform Algolia data

{% hint style="info" %}
There is no base code to transform Algolia data into any of the Daasity Unified Schemas
{% endhint %}


# Amazon Advertising

Daasity extracts data from three Amazon Advertising solutions - Amazon Sponsored Products, Amazon Sponsored Display, and Amazon Sponsored Brands.


# Integration Setup

To Connect Amazon Advertising to Daasity Please follow the steps below.

{% hint style="warning" %}
**You will need Owner Access of your Amazon Account to Connect to Daasity**
{% endhint %}

Steps for Connecting Amazon Ads

## Step 1: Integrations

<figure><img src="/files/7rGll8vPkGzbulDrBvGb" alt=""><figcaption><p>Click Integrations from Left-Side Menu Bar</p></figcaption></figure>

## Step 2: New Integration

<figure><img src="/files/dMGJycWWrceRnB32uxLZ" alt=""><figcaption><p>Click the New Integration Button on top-right of screen</p></figcaption></figure>

## Step 3: Amazon Advertising icon

<figure><img src="/files/2pji6cbO7DXTicL8Xlm9" alt=""><figcaption><p>Click the Amazon Advertising icon from the Integration Page</p></figcaption></figure>

## Step 4: Authorize Daasity

<figure><img src="/files/TO48F3hL94GLuq45WCvP" alt=""><figcaption><p>Authorize Daasity to Connect to API</p></figcaption></figure>

{% hint style="warning" %}
**You will need Owner Access of your Amazon Account to Connect to Daasity**
{% endhint %}

<figure><img src="/files/FyThNoRPvrUy0ZiBT49f" alt=""><figcaption><p>Sign in to your Amazon Account</p></figcaption></figure>

## Step 5: Allow Daasity to Connect

<figure><img src="/files/BTYqRYuRBtxTwEIuNVsO" alt=""><figcaption><p>Allow Daasity to Connect to your Amazon API</p></figcaption></figure>

## Step 6: Choose Region and Marketplace

<figure><img src="/files/Y3mZIbRIpi9u0HW8bF7u" alt=""><figcaption><p>Connect Your Amazon Region and Marketplace IDs</p></figcaption></figure>

<figure><img src="/files/hQxQNoejkhE0YaFRFGrw" alt=""><figcaption><p>Choose the Region from the Dropdown list</p></figcaption></figure>

<figure><img src="/files/hFj8BYkOxXpePrpLS2cA" alt=""><figcaption><p>Choose the correct Amazon ID to Connect</p></figcaption></figure>

## Step 7: Load Historical Data

{% hint style="success" %}
Amazon Ads API limits historical data pull to 3 years (36 months)
{% endhint %}

<figure><img src="/files/YHkWzsdqFv4zvWW6xiKf" alt=""><figcaption><p>Due to Amazon API restrictions it can take time for data to load</p></figcaption></figure>


# Integration Specifications

This page will help you learn about how Daasity replicates data from Amazon Ads, limitations to the data we can extract, and where the data is stored in the Amazon Ads schema.

## Integration Overview

Daasity extracts data from 3 Amazon Ads solutions - Amazon Sponsored Products, Amazon Sponsored Display, and Amazon Sponsored Brands.

* Amazon Sponsored Products are cost-per-click Amazon ads that help customers discover and purchase products that you sell on Amazon with ads that appear in shopping results and on product pages.&#x20;
* Amazon Sponsored Display reaches relevant audiences who are browsing, discovering, or purchasing products on or off Amazon with ads that may appear on the Amazon home page, product detail pages, or shopping result pages as well as third-party websites and apps.&#x20;
* Amazon Sponsored Brands are cost-per-click (CPC) ads that feature your brand logo, a custom headline, and multiple products. These ads appear in relevant shopping results and help drive the discovery of your brand among customers shopping for products like yours.

{% hint style="warning" %}
**Only 60 days of history available**

Amazon Ads only makes the last 60 days of history available via the API. [(source)](https://advertising.amazon.com/API/docs/en-us/guides/reporting/v2/advertising-console)
{% endhint %}

## Integration Availability

This integration is available for:

* Enterprise
* Growth

## API Endpoints

The Daasity Amazon Ads extractor is built based on this [Amazon Ads API documentation](https://advertising.amazon.com/API/docs/en-us/info/api-overview). The following endpoints are used by Daasity to replicate data from Amazon Ads:

* [Profiles](https://advertising.amazon.com/API/docs/en-us/reference/2/profiles)
* Attribution
  * [Attribution Advertisers](https://advertising.amazon.com/API/docs/en-us/amazon-attribution-prod-3p/#/Advertisers)
  * [Attribution Publishers](https://advertising.amazon.com/API/docs/en-us/amazon-attribution-prod-3p/#/Publishers)
  * [Attribution Reports](https://advertising.amazon.com/API/docs/en-us/amazon-attribution-prod-3p/#/Reports)
  * [Attribution Tags](https://advertising.amazon.com/API/docs/en-us/amazon-attribution-prod-3p/#/Attribution%20Tags)
* Sponsored Brands
  * [Sponsored Brands Ad Groups](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi#/Ad%20groups)
  * [Sponsored Brands Brands](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi#/Brands)
  * [Sponsored Brands Campaigns](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi#/Campaigns)
  * [Sponsored Brands Keywords](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi#/Keywords)
  * [Sponsored Brands Negative Keywords](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi#/Negative%20keywords)
  * [Sponsored Brands Product Targeting](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi#/Product%20targeting)
  * [Sponsored Brands Product Targeting Expressions](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi#/Targeting%20recommendations)
  * [Sponsored Brands Report](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi#/Reports)
  * [Sponsored Brands Stores](https://advertising.amazon.com/API/docs/en-us/reference/2/stores)
* Sponsored Display
  * [Sponsored Display Ad Groups](https://advertising.amazon.com/API/docs/en-us/sponsored-display/3-0/openapi#/Ad%20groups)
  * [Sponsored Display Campaigns](https://advertising.amazon.com/API/docs/en-us/sponsored-display/3-0/openapi#/Campaigns)
  * [Sponsored Display Product Ads](https://advertising.amazon.com/API/docs/en-us/sponsored-display/3-0/openapi#/Product%20ads)
  * [Sponsored Display Reports](https://advertising.amazon.com/API/docs/en-us/sponsored-display/3-0/openapi#/Reports)
  * [Sponsored Display Targeting](https://advertising.amazon.com/API/docs/en-us/sponsored-display/3-0/openapi#/Targeting)
  * [Sponsored Display Targeting Recommendations](https://advertising.amazon.com/API/docs/en-us/sponsored-display/3-0/openapi#/Targeting%20Recommendations)
* Sponsored Products
  * [Sponsored Products Ad Groups](https://advertising.amazon.com/API/docs/en-us/sponsored-products/2-0/openapi#/Ad%20groups)
  * [Sponsored Products Bid Recommendations](https://advertising.amazon.com/API/docs/en-us/sponsored-products/2-0/openapi#/Bid%20recommendations)
  * [Sponsored Products Campaigns](https://advertising.amazon.com/API/docs/en-us/sponsored-products/2-0/openapi#/Campaigns)
  * [Sponsored Products Keywords](https://advertising.amazon.com/API/docs/en-us/sponsored-products/2-0/openapi#/Keywords)
  * [Sponsored Products Suggested Keywords](https://advertising.amazon.com/API/docs/en-us/sponsored-products/2-0/openapi#/Suggested%20keywords)
  * [Sponsored Products Product Ads](https://advertising.amazon.com/API/docs/en-us/sponsored-products/2-0/openapi#/Product%20ads)
  * [Sponsored Products Reports](https://advertising.amazon.com/API/docs/en-us/sponsored-products/2-0/openapi#/Reports)

{% hint style="info" %}
Amazon Ads API uses OAuth 2.0 for authenticating clients. Merchants will need to provide their SellerCentral login credentials and "authorize" Daasity to access their account.

The API parameters below outline what we need to obtain access\_tokens thus to access data. Access token is only valid for 60 mins.
{% endhint %}

<figure><img src="/files/OCkoBgxjXEOUzmnM2YXU" alt=""><figcaption><p>Amazon Ads Authorization</p></figcaption></figure>

## Entity Relationship Diagram (ERD)

[Click here to view the ERD for the Daasity Amazon Ads integration](https://lucid.app/documents/embedded/f4c98d1f-7808-4083-a5fc-e7d9f0e21fd3) illustrating the different tables and keys to join across tables.

## Amazon Ads Schema

The Daasity Amazon Ads extractor creates these tables using the endpoints and replication methods listed. The data is mapped from the source API endpoint to the table based on the mapping logic outlined in each table.

* [Profiles](#profiles)
* [Attribution](#attribution)
  * [Attribution Advertisers](#attribution-a-dvertisers)
  * [Attribution Publishers](#attribution-publishers)
  * [Attribution Tags Macro Enabled](#attribution-tags-macro-enabled)
  * [Attribution Tags Non-Macro-Enabled](#attribution-tags-non-macro-enabled)&#x20;
  * [Attribution Report](#attribution-reports)
* [Sponsored Brands](#sponsored-brands)
  * [Sponsored Brands Brands](#sponsored-brands-brands)
  * [Sponsored Brands Brand Stores](#sponsored-brands-stores)&#x20;
  * [Sponsored Brands Campaigns](#sponsored-brands-campaigns)
  * [Sponsored Brands Ad Groups](#sponsored-brands-a-d-groups)
  * [Sponsored Brands Keywords](#sponsored-brands-keywords)
  * [Sponsored Brands Negative Keywords](#sponsored-brands-negative-keywords)
  * [Sponsored Brands Product Targeting](#sponsored-brands-product-targeting)
  * [Sponsored Brands Product Targeting Expressions](#sponsored-brands-product-targeting)
  * [Sponsored Brands Reports](#sponsored-brands-reports)
* [Sponsored Display](#sponsored-display)
  * [Sponsored Display Campaigns](#sponsored-display-campaigns)
  * [Sponsored Display Ad Groups](#sponsored-display-a-d-groups)
  * [Sponsored Display Product Ads](#sponsored-display-product-a-ds)
  * [Sponsored Display Targets](#sponsored-display-targets)
  * [Sponsored Display Targets Expressions](#sponsored-display-target-expressions)
  * [Sponsored Display Reports](#sponsored-display-reports)
* [Sponsored Products](#sponsored-products)
  * [Sponsored Products Campaigns](#sponsored-products-campaigns)
  * [Sponsored Products Campaign Bidding Strategy](#sponsored-products-campaigns-bid-strategy)
  * [Sponsored Products Ad Groups](#sponsored-products-a-d-groups)
  * [Sponsored Products Ad Group Bid Recommendations](#sponsored-products-a-d-group-keywords)&#x20;
  * [Sponsored Products Ad Group Keywords](#sponsored-products-a-d-group-keywords)
  * [Sponsored Products Product Ads](#sponsored-products-product-a-ds)&#x20;
  * [Sponsored Products Keyword Bid Recommendation](#sponsored-products-keyword-bid-recommendations)&#x20;
  * [Sponsored Products Suggested Keywords](#sponsored-products-suggested-keywords)
  * [Sponsored Products Reports](#sponsored-products-reports)

### Profiles

* Endpoint: [Profiles](https://advertising.amazon.com/API/docs/en-us/reference/2/profiles)
* Update Method: UPSERT
* Table Name: `amazon_ads.profiles`

| JSON Element                                                                                                                                  | Database Column                        |
| --------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- |
| profileId                                                                                                                                     | profile\_id                            |
| countryCode                                                                                                                                   | country\_code                          |
| currencyCode                                                                                                                                  | currency\_code                         |
| dailyBudget                                                                                                                                   | daily\_budget                          |
| timezone                                                                                                                                      | timezone                               |
| accountInfo::marketplaceStringId                                                                                                              | account\_info\_marketplace\_string\_id |
| accountInfo::id                                                                                                                               | account\_info\_id                      |
| accountInfo::type                                                                                                                             | account\_into\_type                    |
| account\_id                                                                                                                                   | \_account\_id                          |
| MD5(profileId + countryCode + currencyCode + dailyBudget + timezone + accountInfo::marketplaceStringId + accountInfo::id + accountInfo::type) | \_\_sync\_key                          |
| timestamp when loaded into DB                                                                                                                 | \_\_synced\_at                         |

### Attribution

#### **Attribution Advertisers**

* Endpoint: [Attribution - Advertisers](https://advertising.amazon.com/API/docs/en-us/amazon-attribution-prod-3p/#/Advertisers)
* Update Method: UPSERT
* Table Name: `amazon_ads.advertisers`

| JSON Element                       | Database Column  |
| ---------------------------------- | ---------------- |
| advertiserId                       | advertiser\_id   |
| advertiserName                     | advertiser\_name |
| account\_id                        | \_account\_id    |
| profile\_id                        | profile\_id      |
| MD5(advertiserId + advertiserName) | \_\_sync\_key    |
| timestamp when loaded into DB      | \_\_synced\_at   |

#### **Attribution Publishers**

* Endpoint: [Attribution - Publishers](https://advertising.amazon.com/API/docs/en-us/amazon-attribution-prod-3p/#/Publishers)
* Update Method: UPSERT
* Table Name: `amazon_ads.attribution_publishers`

| JSON Element                  | Database Column |
| ----------------------------- | --------------- |
| id                            | publisher\_id   |
| name                          | publisher\_name |
| macroEnabled                  | macro\_enabled  |
| account\_id                   | \_account\_id   |
| profile\_id                   | profile\_id     |
| MD5(id + name + macroEnabled) | \_\_sync\_key   |
| timestamp when loaded into DB | \_\_synced\_at  |

#### **Attribution Tags Macro-Enabled**

* Endpoint: [Attribution - Attribution Tags](https://advertising.amazon.com/API/docs/en-us/amazon-attribution-prod-3p/#/Attribution%20Tags)
* Update Method: UPSERT
* Table Name: `amazon_ads.attribution_tags_macroenabled`

| JSON Element                                                      | Database Column |
| ----------------------------------------------------------------- | --------------- |
| publisher\_ids\[0]                                                | advertiser\_id  |
| publisher\_ids\[1]                                                | publisher\_id   |
| publisher\_ids\[2]                                                | publisher\_tags |
| account\_id                                                       | \_account\_id   |
| profile\_id                                                       | profile\_id     |
| MD5(publisher\_ids\[0] + publisher\_ids\[1] + publisher\_ids\[2]) | \_\_sync\_key   |
| Daasity: timestamp when loaded into DB                            | \_\_synced\_at  |

#### **Attribution Tags Non-Macro-Enabled**

* Endpoint: [Attribution - Attribution Tags](https://advertising.amazon.com/API/docs/en-us/amazon-attribution-prod-3p/#/Attribution%20Tags)
* Update Method: UPSERT
* Table Name: `amazon_ads.attribution_tags_nonmacroenabled`

| JSON Element                                                      | Database Column |
| ----------------------------------------------------------------- | --------------- |
| publisher\_ids\[0]                                                | advertiser\_id  |
| publisher\_ids\[1]                                                | publisher\_id   |
| publisher\_ids\[2]                                                | publisher\_tags |
| account\_id                                                       | \_account\_id   |
| profile\_id                                                       | profile\_id     |
| MD5(publisher\_ids\[0] + publisher\_ids\[1] + publisher\_ids\[2]) | \_\_sync\_key   |
| timestamp when loaded into DB                                     | \_\_synced\_at  |

#### **Attribution Reports**

* Endpoint: [Attribution - Reports](https://advertising.amazon.com/API/docs/en-us/amazon-attribution-prod-3p/#/Reports)
* Update Method: UPSERT
* Table Name: `amazon_ads.attribution_reports`

| JSON Element                                                                                    | Database Column                                         |
| ----------------------------------------------------------------------------------------------- | ------------------------------------------------------- |
| report\_date                                                                                    | report\_date                                            |
| creative\_type                                                                                  | creative\_type                                          |
| adGroupName                                                                                     | ad\_group\_name                                         |
| adGroupId                                                                                       | ad\_group\_id                                           |
| keywordId                                                                                       | keyword\_id                                             |
| keywordText                                                                                     | keyword\_text                                           |
| keywordStatus                                                                                   | keyword\_status                                         |
| targetId                                                                                        | target\_id                                              |
| targetingExpression                                                                             | targeting\_expression                                   |
| targetingText                                                                                   | targeting\_text                                         |
| targetingType                                                                                   | targeting\_type                                         |
| matchType                                                                                       | match\_type                                             |
| currency                                                                                        | currency                                                |
| campaignName                                                                                    | campaign\_name                                          |
| campaignId                                                                                      | campaign\_id                                            |
| campaignStatus                                                                                  | campaignStatus                                          |
| campaignBudgetType                                                                              | campaign\_budget\_type                                  |
| cost                                                                                            | cost                                                    |
| impressions                                                                                     | impressions                                             |
| clicks                                                                                          | clicks                                                  |
| campaignBudget                                                                                  | campaign\_budget                                        |
| keywordBid                                                                                      | keyword\_bid                                            |
| attributedDetailPageViewsClicks14d                                                              | attributed\_detail\_pageviewclicks\_14d                 |
| attributedSales14d                                                                              | attributed\_sales\_14d                                  |
| attributedSales14dSameSKU                                                                       | attributed\_sales\_14d\_same\_sku                       |
| attributedConversions14d                                                                        | attributed\_conversions\_14d                            |
| attributedConversions14dSameSKU                                                                 | attributed\_conversions\_14d\_same\_sku                 |
| attributedOrdersNewToBrand14d                                                                   | attributed\_orders\_newtobrand\_14d                     |
| attributedOrdersNewToBrandPercentage14d                                                         | attributed\_orders\_newtobrand\_percentage\_14d         |
| attributedOrderRateNewToBrand14d                                                                | attributed\_order\_rate\_newtobrand\_14d                |
| attributedSalesNewToBrand14d                                                                    | attributed\_sales\_newtobrand\_14d                      |
| attributedSalesNewToBrandPercentage14d                                                          | attributed\_sales\_newtobrand\_percentage\_14d          |
| attributedUnitsOrderedNewToBrand14d                                                             | attributed\_units\_ordered\_newtobrand\_14d             |
| attributedUnitsOrderedNewToBrandPercentage14d                                                   | attributed\_units\_ordered\_newtobrand\_percentage\_14d |
| unitsSold14d                                                                                    | units\_sold\_14d                                        |
| dpv14d                                                                                          | dpv\_14d                                                |
| account\_id                                                                                     | \_account\_id                                           |
| MD5(campaignId + advertiserName+ publisher + adGroupId + creativeId + report\_date + profileId) | \_\_sync\_key                                           |
| Daasity: timestamp when loaded into DB                                                          | \_\_synced\_at                                          |

### Sponsored Brands

#### **Sponsored Brands Brands**

* Endpoint: [Sponsored Brands - Brands](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi#/Brands)
* Update Method: UPSERT
* Table Name: `amazon_ads.sponsored_brands_brands`

<table><thead><tr><th width="376">JSON Element</th><th>Database Column</th></tr></thead><tbody><tr><td>brandId</td><td>brand_id</td></tr><tr><td>brandEntityId</td><td>brand_entity_id</td></tr><tr><td>brandRegistryName</td><td>brand_registry_name</td></tr><tr><td>_account_id</td><td>_account_id</td></tr><tr><td>profile_id</td><td>profile_id</td></tr><tr><td>MD5(brandId + profile_id)</td><td>__sync_key</td></tr><tr><td>timestamp when loaded into DB</td><td>__synced_at</td></tr></tbody></table>

#### **Sponsored Brands Stores**

* Endpoint: [Sponsored Brands - Brand Stores](https://advertising.amazon.com/API/docs/en-us/reference/2/stores)
* Update Method: UPSERT
* Table Name: `amazon_ads.sponsored_brands_stores`

| JSON Element                                             | Database Column   |
| -------------------------------------------------------- | ----------------- |
| entityID                                                 | entity\_id        |
| storeName                                                | store\_name       |
| storePageInfo::storePageID                               | store\_page\_id   |
| storePageInfo::storePageURL                              | store\_page\_url  |
| storePageInfo::storePageName                             | store\_page\_name |
| brandEntityID                                            | brand\_entity\_id |
| account\_id                                              | \_account\_id     |
| profile\_id                                              | profile\_id       |
| MD5(entityID + storePageInfo::storePageID + profile\_id) | \_\_sync\_key     |
| Daasity: timestamp when loaded into DB                   | \_\_synced\_at    |

#### **Sponsored Brands Campaigns**

* Endpoint: [Sponsored Brands - Campaigns](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi#/Campaigns)
* Update Method: UPSERT
* Table Name: `amazon_ads.sponsored_brands_campaigns`

| JSON Element                           | Database Column                   |
| -------------------------------------- | --------------------------------- |
| name                                   | name                              |
| budget                                 | budget                            |
| bidOptimization                        | bid\_optimization                 |
| portfolioId                            | portfolio\_id                     |
| adFormat                               | ad\_format                        |
| campaignId                             | campaign\_id                      |
| budgetType                             | budget\_type                      |
| startDate                              | start\_date                       |
| state                                  | state                             |
| servingStatus                          | serving\_status                   |
| creative::brandName                    | creative\_brand\_name             |
| creative::brandLogoAssetId             | creative\_brand\_logo\_asset\_id  |
| creative::headline                     | creative\_headline                |
| creative::shouldOptimizeAsins          | creative\_should\_optimize\_asins |
| creative::asins                        | creative\_asins                   |
| creative::brandLogoUrl                 | creative\_brand\_logo\_url        |
| landingPage::pageType                  | landing\_page\_type               |
| landingPage::url                       | landing\_page\_url                |
| account\_id                            | \_account\_id                     |
| profile\_id                            | profile\_id                       |
| MD5(campaignId + profile\_id)          | \_\_sync\_key                     |
| Daasity: timestamp when loaded into DB | \_\_synced\_at                    |

#### **Sponsored Brands Ad Groups**

* Endpoint: [Sponsored Brands - Ad Groups](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi#/Ad%20groups)
* Update Method: UPSERT
* Table Name: `amazon_ads.sponsored_brands_ad_groups`

| JSON Element                              | Database Column |
| ----------------------------------------- | --------------- |
| adGroupId                                 | ad\_group\_id   |
| name                                      | adgroup\_name   |
| campaignId                                | campaign\_id    |
| account\_id                               | \_account\_id   |
| profile\_id                               | profile\_id     |
| MD5(adGroupId + campaignId + profile\_id) | \_\_sync\_key   |
| timestamp when loaded into DB             | \_\_synced\_at  |

#### **Sponsored Brands Keywords**

* Endpoint: [Sponsored Brands - Keywords](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi#/Keywords)
* Update Method: UPSERT
* Table Name: `amazon_ads.sponsored_brands_keywords`

| JSON Element                                          | Database Column |
| ----------------------------------------------------- | --------------- |
| keywordId                                             | keyword\_id     |
| adGroupId                                             | ad\_group\_id   |
| campaignId                                            | campaign\_id    |
| keywordText                                           | keyword\_text   |
| matchType                                             | match\_type     |
| state                                                 | state           |
| bid                                                   | bid             |
| account\_id                                           | \_account\_id   |
| profile\_id                                           | profile\_id     |
| MD5(campaignId + adGroupId + keywordId + profile\_id) | \_\_sync\_key   |
| timestamp when loaded into DB                         | \_\_synced\_at  |

#### **Sponsored Brands Negative Keywords**

* Endpoint: [Sponsored Brands - Negative Keywords](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi#/Negative%20keywords)
* Update Method: UPSERT
* Table Name: `amazon_ads.sponsored_brands_negative_keywords`&#x20;

| JSON Element                                         | Database Column |
| ---------------------------------------------------- | --------------- |
| targetId                                             | target\_id      |
| adGroupId                                            | ad\_group\_id   |
| campaignId                                           | campaign\_id    |
| bid                                                  | bid             |
| state                                                | state           |
| account\_id                                          | \_account\_id   |
| profile\_id                                          | profile\_id     |
| MD5(adGroupId + targetId + campaignId + profile\_id) | \_\_sync\_key   |
| Daasity: timestamp when loaded into DB               | \_\_synced\_at  |

#### **Sponsored Brands Product Targeting**

* Endpoint: [Sponsored Brands - Product Targeting](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi#/Product%20targeting)
* Update Method: UPSERT
* Table Name: `amazon_ads.sponsored_brands_product_targeting`

| JSON Element                                          | Database Column |
| ----------------------------------------------------- | --------------- |
| keywordId                                             | keyword\_id     |
| adGroupId                                             | ad\_group\_id   |
| campaignId                                            | campaign\_id    |
| keywordText                                           | keyword\_text   |
| matchType                                             | match\_type     |
| state                                                 | state           |
| account\_id                                           | \_account\_id   |
| profile\_id                                           | profile\_id     |
| MD5(campaignId + adGroupId + keywordId + profile\_id) | \_\_sync\_key   |
| timestamp when loaded into DB                         | \_\_synced\_at  |

#### **Sponsored Brands Product Targeting Expressions**

* Endpoint: Sponsored Brands - Product Targeting Expressions
* Update Method: UPSERT
* Table Name: `amazon_ads.sponsored_brands_product_targeting_expressions`

| JSON Element                                         | Database Column  |
| ---------------------------------------------------- | ---------------- |
| targetId                                             | target\_id       |
| adGroupId                                            | ad\_group\_id    |
| campaignId                                           | campaign\_id     |
| expressionType                                       | expression\_type |
| type                                                 | type             |
| value                                                | value            |
| account\_id                                          | \_account\_id    |
| profile\_id                                          | profile\_id      |
| MD5(adGroupId + targetId + campaignId + profile\_id) | \_\_sync\_key    |
| Daasity: timestamp when loaded into DB               | \_\_synced\_at   |

#### **Sponsored Brands Reports**

* Endpoint: [Sponsored Brands - Reports](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi#/Reports)
* Update Method: UPSERT
* Table Name: `amazon_ads.sponsored_brands_reports`

| JSON Element                                                                                                            | Database Column                                 |
| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- |
| reportType(campaigns, keywords, adGroups)                                                                               | report\_type                                    |
| creativeType                                                                                                            | creative\_type                                  |
| date                                                                                                                    | report\_date                                    |
| segment                                                                                                                 | segment                                         |
| campaignName                                                                                                            | campaign\_name                                  |
| campaignID                                                                                                              | campaign\_id                                    |
| campaignStatus                                                                                                          | campaign\_status                                |
| campaignBudget                                                                                                          | campaign\_budget                                |
| campaignBudgetType                                                                                                      | campaign\_budget\_type                          |
| adGroupName                                                                                                             | adgroup\_name                                   |
| adGroupId                                                                                                               | adgroup\_id                                     |
| keywordId                                                                                                               | keyword\_id                                     |
| keywordText                                                                                                             | keyword\_text                                   |
| keywordBid                                                                                                              | keyword\_bid                                    |
| keywordStatus                                                                                                           | keyword\_status                                 |
| targetID                                                                                                                | target\_id                                      |
| targetingExpression                                                                                                     | targeting\_expression                           |
| targetingText                                                                                                           | targeting\_text                                 |
| targetingType                                                                                                           | targeting\_type                                 |
| matchType                                                                                                               | match\_type                                     |
| impressions                                                                                                             | impressions                                     |
| clicks                                                                                                                  | clicks                                          |
| cost                                                                                                                    | cost                                            |
| attributedDetailPageViewsClicks14d                                                                                      | attributed\_detail\_pageviewclicks\_14d         |
| attributedSales14d                                                                                                      | attributed\_sales\_14d                          |
| attributedSales14dSameSKU                                                                                               | attributed\_sales\_14d\_same\_sku               |
| attributedConversions14d                                                                                                | attributed\_conversions\_14d                    |
| attributedConversions14dSameSKU                                                                                         | attributed\_conversions\_14d\_same\_sku         |
| attributedOrdersNewToBrand14d                                                                                           | attributed\_orders\_newtobrand\_14d             |
| attributedOrdersNewToBrandPercentage14d                                                                                 | attributed\_orders\_newtobrand\_percentage\_14d |
| attributedOrderRateNewToBrand14d                                                                                        | attributed\_order\_rate\_newtobrand\_14d        |
| attributedSalesNewToBrand14d                                                                                            | attributed\_sales\_newtobrand\_14d              |
| attributedSalesNewToBrandPercentage14d                                                                                  | attributed\_sales\_newtobrand\_percentage\_14d  |
| unitsSold14d                                                                                                            | units\_sold\_14d                                |
| dpv14d                                                                                                                  | dpv\_14d                                        |
| account\_id                                                                                                             | \_account\_id                                   |
| profile\_id                                                                                                             | profile\_id                                     |
| MD5(campaignId + campaignName + adGroupName + adGroupId + keyId + keywordText + matchType + report\_date + profile\_id) | \_\_sync\_key                                   |
| Daasity: timestamp when loaded into DB                                                                                  | \_\_synced\_at                                  |

### Sponsored Display

#### **Sponsored Display Campaigns**

* Endpoint: [Sponsored Display - Campaigns](https://advertising.amazon.com/API/docs/en-us/sponsored-display/3-0/openapi#/Campaigns)
* Update Method: UPSERT
* Table Name: `amazon_ads.sponsored_display_campaigns`

| JSON Element                           | Database Column   |
| -------------------------------------- | ----------------- |
| campaignId                             | campaign\_id      |
| name                                   | campaign\_name    |
| tactic                                 | tactic            |
| startDate                              | start\_date       |
| state                                  | state             |
| budget                                 | budget            |
| servingStatus                          | serving\_status   |
| creationDate                           | created\_at       |
| lastUpdatedDate                        | updated\_at       |
| budgetType                             | budget\_type      |
| costType                               | cost\_type        |
| deliveryProfile                        | delivery\_profile |
| account\_id                            | \_account\_id     |
| profile\_id                            | profile\_id       |
| MD5(campaignId + profile\_id)          | \_\_sync\_key     |
| Daasity: timestamp when loaded into DB | \_\_synced\_at    |

#### **Sponsored Display Ad Groups**

* Endpoint: [Sponsored Display - Ad Groups](https://advertising.amazon.com/API/docs/en-us/sponsored-display/3-0/openapi#/Ad%20groups)
* Update Method: UPSERT
* Table Name: `amazon_ads.sponsored_display_ad_groups`

| JSON Element                            | Database Column |
| --------------------------------------- | --------------- |
| adGroupId                               | ad\_group\_id   |
| name                                    | ad\_group\_name |
| campaignId                              | campaign\_id    |
| defaultBid                              | default\_bid    |
| state                                   | state           |
| servingStatus                           | serving\_status |
| creationDate                            | created\_at     |
| lastUpdatedDate                         | updated\_at     |
| tactic                                  | tactic          |
| account\_id                             | \_account\_id   |
| profile\_id                             | profile\_id     |
| MD5(adGroupId + campaignId + profileId) | \_\_sync\_key   |
| Daasity: timestamp when loaded into DB  | \_\_synced\_at  |

#### **Sponsored Display Product Ads**

* Endpoint: [Sponsored Display - Product Ads](https://advertising.amazon.com/API/docs/en-us/sponsored-display/3-0/openapi#/Product%20ads)
* Update Method: UPSERT
* Table Name: `amazon_ads.sponsored_display_product_ads`

| JSON Element                                   | Database Column |
| ---------------------------------------------- | --------------- |
| adID                                           | ad\_id          |
| adGroupId                                      | ad\_group\_id   |
| campaignId                                     | campaign\_id    |
| asin                                           | asin            |
| sku                                            | sku             |
| state                                          | state           |
| ServingStatus                                  | serving\_status |
| CreationDate                                   | created\_at     |
| LastUpdatedDate                                | updated\_at     |
| account\_id                                    | \_account\_id   |
| profile\_id                                    | profile\_id     |
| MD5(adGroupId + adId + campaignId + profileId) | \_\_sync\_key   |
| Daasity: timestamp when loaded into DB         | \_\_synced\_at  |

#### **Sponsored Display Targets**

* Endpoint: [Sponsored Display - Targets](https://advertising.amazon.com/API/docs/en-us/sponsored-display/3-0/openapi#/Targeting)
* Update Method: UPSERT
* Table Name: `amazon_ads.sponsored_display_targets`

| JSON Element                           | Database Column  |
| -------------------------------------- | ---------------- |
| adGroupID                              | ad\_group\_id    |
| targetID                               | target\_id       |
| expressionType                         | expression\_type |
| bid                                    | bid              |
| state                                  | state            |
| servingStatus                          | serving\_status  |
| creationDate                           | created\_at      |
| lastUpdatedDate                        | updated\_at      |
| account\_id                            | \_account\_id    |
| profile\_id                            | profile\_id      |
| MD5(adGroupId + targetId + profileId)  | \_\_sync\_key    |
| Daasity: timestamp when loaded into DB | \_\_synced\_at   |

#### **Sponsored Display Target Expressions**

* Endpoint: Sponsored Display - Target Expressions
* Update Method: UPSERT
* Table Name: `amazon_ads.sponsored_display_target_expressions`

| JSON Element                           | Database Column  |
| -------------------------------------- | ---------------- |
| adGroupId                              | ad\_group\_id    |
| targetId                               | target\_id       |
| expressionType                         | expression\_type |
| key                                    | type             |
| value                                  | value            |
| account\_id                            | \_account\_id    |
| profile\_id                            | profile\_id      |
| MD5(adGroupId + targetId + profileId)  | \_\_sync\_key    |
| Daasity: timestamp when loaded into DB | \_\_synced\_at   |

#### **Sponsored Display Reports**

* Endpoint: [Sponsored Display - Report](https://advertising.amazon.com/API/docs/en-us/sponsored-display/3-0/openapi#/Reports)
* Update Method: UPSERT
* Table Name: `amazon_ads.sponsored_display_reports`

| JSON Element                                                                                            | Database Column                         |
| ------------------------------------------------------------------------------------------------------- | --------------------------------------- |
| reportType(campaign, adGroup, product ads)                                                              | report\_type                            |
| tactic                                                                                                  | tactic                                  |
| date                                                                                                    | report\_date                            |
| campaignName                                                                                            | campaign\_name                          |
| campaignID                                                                                              | campaign\_id                            |
| impressions                                                                                             | impressions                             |
| clicks                                                                                                  | clicks                                  |
| cost                                                                                                    | cost                                    |
| currency                                                                                                | currency                                |
| attributedConversions1d                                                                                 | attributed\_conversions\_1d             |
| attributedConversions7d                                                                                 | attributed\_conversions\_7d             |
| attributedConversions14d                                                                                | attributed\_conversion\_14d             |
| attributedConversions30d                                                                                | attributed\_conversion\_30d             |
| attributedConversions1dSameSKU                                                                          | attributed\_conversions\_1d\_same\_sku  |
| attributedConversions7dSameSKU                                                                          | attributed\_conversions\_7d\_same\_sku  |
| attributedConversions14dSameSKU                                                                         | attributed\_conversions\_14d\_same\_sku |
| attributedConversions30dSameSKU                                                                         | attributed\_conversions\_30d\_same\_sku |
| attributedUnitsOrdered1d                                                                                | attributed\_units\_ordered\_1d          |
| attributedUnitsOrdered7d                                                                                | attributed\_units\_ordered\_7d          |
| attributedUnitsOrdered14d                                                                               | attributed\_units\_ordered\_14d         |
| attributedUnitsOrdered30d                                                                               | attributed\_units\_ordered\_30d         |
| attributedSales1d                                                                                       | attributed\_sales\_1d                   |
| attributedSales7d                                                                                       | attributed\_sales\_7d                   |
| attributedSales14d                                                                                      | attributed\_sales\_14d                  |
| attributedSales30d                                                                                      | attributed\_sales\_30d                  |
| attributedSales1dSameSKU                                                                                | attributed\_sales\_1d\_same\_sku        |
| attributedSales7dSameSKU                                                                                | attributed\_sales\_7d\_same\_sku        |
| attributedSales14dSameSKU                                                                               | attributed\_sales\_14d\_same\_sku       |
| attributedSales30dSameSKU                                                                               | attributed\_sales\_30d\_same\_sku       |
| adGroupName                                                                                             | ad\_group\_name                         |
| adGroupID                                                                                               | ad\_group\_id                           |
| asin                                                                                                    | asin                                    |
| sku                                                                                                     | sku                                     |
| adID                                                                                                    | ad\_id                                  |
| account\_id                                                                                             | \_account\_id                           |
| profile\_id                                                                                             | profile\_id                             |
| MD5(campaignId + campaignName + adGroupName + adGroupId + asin + sku + adId + report\_date + profileId) | \_\_sync\_key                           |
| Daasity: timestamp when loaded into DB                                                                  | \_\_synced\_at                          |

### Sponsored Products

#### **Sponsored Products Campaigns**

* Endpoint: [Sponsored Products - Campaigns](https://advertising.amazon.com/API/docs/en-us/sponsored-products/2-0/openapi#/Campaigns)
* Update Method: UPSERT
* Table Name: `amazon_ads.sponsored_products_campaigns`

| JSON Element                           | Database Column           |
| -------------------------------------- | ------------------------- |
| campaignID                             | campaign\_id              |
| name                                   | campaign\_name            |
| campaignType                           | campaign\_type            |
| targetingType                          | targeting\_type           |
| premiumBidAdjustment                   | premium\_bid\_adjustments |
| dailyBudget                            | daily\_budget             |
| startDate                              | start\_date               |
| state                                  | state                     |
| portfolioID                            | portfolio\_id             |
| servingStatus                          | serving\_status           |
| creationDate                           | created\_at               |
| lastUpdatedDate                        | updated\_at               |
| account\_id                            | \_account\_id             |
| profile\_id                            | profile\_id               |
| MD5(campaignId + profileId)            | \_\_sync\_key             |
| Daasity: timestamp when loaded into DB | \_\_synced\_at            |

#### **Sponsored Products Campaigns Bid Strategy**

* Endpoint: Sponsored Products - Campaign Bidding Strategy
* Update Method: UPSERT
* Table Name: `amazon_ads.sponsored_products_campaigns_bid_strategy`

| JSON Element                                    | Database Column             |
| ----------------------------------------------- | --------------------------- |
| campaignID                                      | campaign\_id                |
| bidding::Strategy                               | bid\_strategy               |
| bidding::Adjustments::Predicate                 | bid\_adjustment\_predicate  |
| bidding::Adjustments::Percentage                | bid\_adjustment\_percentage |
| account\_id                                     | \_account\_id               |
| profile\_id                                     | profile\_id                 |
| MD5(campaignId + bidding::strategy + profileId) | \_\_sync\_key               |
| Daasity: timestamp when loaded into DB          | \_\_synced\_at              |

#### **Sponsored Products Ad Groups**

* Endpoint: [Sponsored Products - Ad Groups](https://advertising.amazon.com/API/docs/en-us/sponsored-products/2-0/openapi#/Ad%20groups)
* Update Method: UPSERT
* Table Name: `amazon_ads.sponsored_products_ad_groups`

| JSON Element                           | Database Column |
| -------------------------------------- | --------------- |
| adgroupID                              | ad\_group\_id   |
| name                                   | adgroup\_name   |
| campaignID                             | campaign\_id    |
| defaultBid                             | default\_bid    |
| state                                  | state           |
| servingStatus                          | serving\_status |
| creationDate                           | created\_at     |
| lastUpdatedDate                        | updated\_at     |
| account\_id                            | \_account\_id   |
| profile\_id                            | profile\_id     |
| MD5(adGroupId + profileId)             | \_\_sync\_key   |
| Daasity: timestamp when loaded into DB | \_\_synced\_at  |

#### **Sponsored Products Ad Group Bid Recommendations**

* Endpoint: [Sponsored Products - Bid Recommendations](https://advertising.amazon.com/API/docs/en-us/sponsored-products/2-0/openapi#/Bid%20recommendations)
* Update Method: UPSERT
* Table Name: `amazon_ads.sponsored_products_ad_group_bid_recommendations`

| JSON Element                           | Database Column              |
| -------------------------------------- | ---------------------------- |
| adGroupId                              | ad\_group\_id                |
| suggestedBid::rangeEnd                 | suggested\_bid\_range\_end   |
| suggestedBid::rangeStart               | suggested\_bid\_range\_start |
| suggestedBid::suggested                | suggested\_bid\_suggested    |
| current\_timestamp                     | created\_at                  |
| current\_timestamp                     | updated\_at                  |
| account\_id                            | \_account\_id                |
| profile\_id                            | profile\_id                  |
| MD5(adGroupId + profile\_id)           | \_\_sync\_key                |
| Daasity: timestamp when loaded into DB | \_\_synced\_at               |

#### **Sponsored Products Ad Group Keywords**

* Endpoint: [Sponsored Products - Keywords](https://advertising.amazon.com/API/docs/en-us/sponsored-products/2-0/openapi#/Keywords)
* Update Method: UPSERT
* Table Name: `amazon_ads.sponsored_products_ad_group_keywords`

| JSON Element                           | Database Column |
| -------------------------------------- | --------------- |
| keywordId                              | keyword\_id     |
| adGroupId                              | adgroup\_id     |
| campaignId                             | campaign\_id    |
| keywordText                            | keyword\_text   |
| matchType                              | match\_type     |
| state                                  | state           |
| bid                                    | bid             |
| servingStatus                          | serving\_status |
| creationDate                           | created\_at     |
| lastUpdatedDate                        | updated\_at     |
| account\_id                            | \_account\_id   |
| profile\_id                            | profile\_id     |
| MD5(keywordId + profile\_id)           | \_\_sync\_key   |
| Daasity: timestamp when loaded into DB | \_\_synced\_at  |

#### **Sponsored Products Keyword Bid Recommendations**

* Endpoint: [Sponsored Products - Bid Recommendations](https://advertising.amazon.com/API/docs/en-us/sponsored-products/2-0/openapi#/Bid%20recommendations)
* Update Method: UPSERT
* Table Name: `amazon_ads.sponsored_products_keyword_bid_recommendations`

| JSON Element                           | Database Column              |
| -------------------------------------- | ---------------------------- |
| keywordId                              | keyword\_id                  |
| adGroupId                              | ad\_group\_id                |
| suggestedBid::rangeEnd                 | suggested\_bid\_range\_end   |
| suggestedBid::rangeStart               | suggested\_bid\_range\_start |
| suggestedBid::suggested                | suggested\_bid\_suggested    |
| current\_timestamp                     | created\_at                  |
| current\_timestamp                     | updated\_at                  |
| account\_id                            | \_account\_id                |
| profile\_id                            | profile\_id                  |
| MD5(keywordId + profile\_id)           | \_\_sync\_key                |
| Daasity: timestamp when loaded into DB | \_\_synced\_at               |

#### **Sponsored Products Suggested Keywords**

* Endpoint: [Sponsored Products - Suggested Keywords](https://advertising.amazon.com/API/docs/en-us/sponsored-products/2-0/openapi#/Suggested%20keywords)
* Update Method: UPSERT
* Table Name: `amazon_ads.sponsored_products_suggested_keywords`

| JSON Element                                               | Database Column |
| ---------------------------------------------------------- | --------------- |
| adGroupId                                                  | ad\_group\_id   |
| keywordText                                                | keyword\_text   |
| matchType                                                  | match\_type     |
| current\_timestamp                                         | created\_at     |
| current\_timestamp                                         | updated\_at     |
| account\_id                                                | \_account\_id   |
| profile\_id                                                | profile\_id     |
| MD5(ad\_group\_id + keywordText + matchType + profile\_id) | \_\_sync\_key   |
| Daasity: timestamp when loaded into DB                     | \_\_synced\_at  |

#### **Sponsored Products Product Ads**

* Endpoint: [Sponsored Products - Product Ads](https://advertising.amazon.com/API/docs/en-us/sponsored-products/2-0/openapi#/Product%20ads)
* Update Method: UPSERT
* Table Name: `amazon_ads.sponsored_products_product_ads`

| JSON Element                           | Database Column |
| -------------------------------------- | --------------- |
| adId                                   | ad\_id          |
| adGroupId                              | ad\_group\_id   |
| campaignId                             | campaign\_id    |
| asin                                   | asin            |
| sku                                    | sku             |
| state                                  | state           |
| servingStatus                          | serving\_status |
| creationDate                           | created\_at     |
| lastUpdatedDate                        | updated\_at     |
| account\_id                            | \_account\_id   |
| profile\_id                            | profile\_id     |
| MD5(adId + profile\_id)                | \_\_sync\_key   |
| Daasity: timestamp when loaded into DB | \_\_synced\_at  |

#### **Sponsored Products Reports**

* Endpoint: [Sponsored Products - Reports](https://advertising.amazon.com/API/docs/en-us/sponsored-products/2-0/openapi#/Reports)
* Update Method: UPSERT
* Table Name: `amazon_ads.sponsored_products_reports`

| JSON Element                                                                                             | Database Column                            |
| -------------------------------------------------------------------------------------------------------- | ------------------------------------------ |
| ReportType(campaign, keyword, adGroup, productAds)                                                       | report\_type                               |
| bigplus                                                                                                  | bigplus                                    |
| date                                                                                                     | report\_date                               |
| segment                                                                                                  | segment                                    |
| campaignName                                                                                             | campaign\_name                             |
| campaignId                                                                                               | campaign\_id                               |
| adGroupName                                                                                              | ad\_group\_name                            |
| adGroupId                                                                                                | ad\_group\_id                              |
| keywordId                                                                                                | keyword\_id                                |
| keywordText                                                                                              | keyword\_text                              |
| matchType                                                                                                | match\_type                                |
| campaignStatus                                                                                           | campaign\_status                           |
| campaignBudget                                                                                           | campaign\_budget                           |
| targetID                                                                                                 | target\_id                                 |
| targetingExpression                                                                                      | targeting\_expression                      |
| targetingText                                                                                            | targeting\_text                            |
| targetingType                                                                                            | targeting\_type                            |
| impressions                                                                                              | impressions                                |
| clicks                                                                                                   | clicks                                     |
| cost                                                                                                     | cost                                       |
| currency                                                                                                 | currency                                   |
| asin                                                                                                     | asin                                       |
| otherAsin                                                                                                | other\_asin                                |
| sku                                                                                                      | sku                                        |
| attributedConversions1d                                                                                  | attributed\_conversions\_1d                |
| attributedConversions7d                                                                                  | attributed\_conversions\_7d                |
| attributedConversions14d                                                                                 | attributed\_conversion\_14d                |
| attributedConversions30d                                                                                 | attributed\_conversion\_30d                |
| attributedConversions1dSameSKU                                                                           | attributed\_conversions\_1d\_same\_sku     |
| attributedConversions7dSameSKU                                                                           | attributed\_conversions\_7d\_same\_sku     |
| attributedConversions14dSameSKU                                                                          | attributed\_conversions\_14d\_same\_sku    |
| attributedConversions30dSameSKU                                                                          | attributed\_conversions\_30d\_same\_sku    |
| attributedUnitsOrdered1d                                                                                 | attributed\_units\_ordered\_1d             |
| attributedUnitsOrdered7d                                                                                 | attributed\_units\_ordered\_7d             |
| attributedUnitsOrdered14d                                                                                | attributed\_units\_ordered\_14d            |
| attributedUnitsOrdered30d                                                                                | attributed\_units\_ordered\_30d            |
| attributedUnitsOrdered1dOtherSKU                                                                         | attributed\_units\_ordered\_1d\_osku       |
| attributedUnitsOrdered7dOtherSKU                                                                         | attributed\_units\_ordered\_7d\_osku       |
| attributedUnitsOrdered14dOtherSKU                                                                        | attributed\_units\_ordered\_14d\_osku      |
| attributedUnitsOrdered30dOtherSKU                                                                        | attributed\_units\_ordered\_30d\_osku      |
| attributedSales1d                                                                                        | attributed\_sales\_1d                      |
| attributedSales7d                                                                                        | attributed\_sales\_7d                      |
| attributedSales14d                                                                                       | attributed\_sales\_14d                     |
| attributedSales30d                                                                                       | attributed\_sales\_30d                     |
| attributedSales1dSameSKU                                                                                 | attributed\_sales\_1d\_same\_sku           |
| attributedSales7dSameSKU                                                                                 | attributed\_sales\_7d\_same\_sku           |
| attributedSales14dSameSKU                                                                                | attributed\_sales\_14d\_same\_sku          |
| attributedSales30dSameSKU                                                                                | attributed\_sales\_30d\_same\_sku          |
| attributedSales1dOtherSKU                                                                                | attributed\_sales\_1d\_osku                |
| attributedSales7dOtherSKU                                                                                | attributed\_sales\_7d\_osku                |
| attributedSales14dOtherSKU                                                                               | attributed\_sales\_14d\_osku               |
| attributedSales30dOtherSKU                                                                               | attributed\_sales\_30d\_osku               |
| attributedUnitsOrdered1dSameSKU                                                                          | attributed\_units\_ordered\_1d\_same\_sku  |
| attributedUnitsOrdered7dSameSKU                                                                          | attributed\_units\_ordered\_7d\_same\_sku  |
| attributedUnitsOrdered14dSameSKU                                                                         | attributed\_units\_ordered\_14d\_same\_sku |
| attributedUnitsOrdered30dSameSKU                                                                         | attributed\_units\_ordered\_30d\_same\_sku |
| account\_id                                                                                              | \_account\_id                              |
| profile\_id                                                                                              | profile\_id                                |
| MD5(campaignId + campaignName + adGroupName + adGroupId + asin + sku + keyword + targetId + profile\_id) | \_\_sync\_key                              |
| Daasity: timestamp when loaded into DB                                                                   | \_\_synced\_at                             |


# Workflow Configuration Setup

This page provides information on how the Amazon Ads integration can be configured as part of a workflow to extract data

## Extraction Replication Window

The Amazon Ads integration will replicate data for the 72 hours to the beginning of that day every time the extraction is run

## Extraction Frequency

The integration can be configured to run and extract data up to every hour depending on the number of Amazon Ads accounts and reports that are requested due to report limitations at Amazon

{% hint style="info" %}
We recommend this integration be set to extract **daily**
{% endhint %}


# Transformation Configuration Setup

This pages provides instructions on what transform code should be added to a script manifest file to transform Amazon Ads into the Unified Marketing Schema (UMS)

## Overview

The Amazon Ads extractor provides data on marketing spend and performance across a number of different marketing methods that are available on Amazon.  The Daasity transformation code maps data from the Amazon Ads schema into the Unified Marketing Schema (UMS) for the following marketing channels:

* Sponsored Products
* Sponsored Display
* Sponsored Brands

## Feature Dependencies

You must have enabled our [Code Repository](/technical-docs/transform-code/code-repository) feature in order to both access the Daasity transformation code as well as modify a Script Manifest File enabling this code to execute.

We recommend you review the [Transformation Configuration](/technical-docs/workflows-and-scheduling/script-manifest-yaml-files) section of our Help documentation to familiarize yourself with our workflow engine and script manifest files.

## Script Manifest File (YML)

### Upstream Transformation Dependencies

{% hint style="danger" %}
This code will not complete successfully unless the Initialization Code that creates the UMS tables which is outlined in our Initialization Block is executed prior to this Amazon Ads UMS code in this workflow
{% endhint %}

### Transformation Code Requirements

To enable the data transformation from the Amazon Ads schema into UMS, Daasity recommends the following code be added to any Script Manifest File and Workflow:

{% code fullWidth="false" %}

```
  ums_amazon_ads:
    integrations:
      - amazon_ads
    scripts:
      - "github://platform-sql-shared/scripts/pro/1500_ums/1535_UMS_BAS_amazon_ads_sponsored_products_spend.sql"
      - "github://platform-sql-shared/scripts/pro/1500_ums/1536_UMS_BAS_amazon_ads_sponsored_display_spend.sql"
      - "github://platform-sql-shared/scripts/pro/1500_ums/1537_UMS_BAS_amazon_ads_sponsored_brands_spend.sql"
      - "github://platform-sql-shared/scripts/base/1500_ums/vendor_kpi/2535_UMS_BAS_amazon_ads_sponsored_products.sql"
      - "github://platform-sql-shared/scripts/base/1500_ums/vendor_kpi/2536_UMS_BAS_amazon_ads_sponsored_display.sql"
      - "github://platform-sql-shared/scripts/base/1500_ums/vendor_kpi/2537_UMS_BAS_amazon_ads_sponsored_brands.sql"
```

{% endcode %}

We recommend this code be added within a UMS block that transforms all your marketing integrations into the appropriate UMS tables

{% hint style="warning" %}
If you do not add the above code to a Script Manifest File and create a Workflow with the Script Manifest File added to the workflow, the data extracted from Amazon Ads will not be transformed into the downstream tables
{% endhint %}

### UMS Master Spend

The following code will transform the specific Amazon Ads spend into the \[ums.master\_spend] table:

* [github://platform-sql-shared/scripts/pro/1500\_ums/1535\_UMS\_BAS\_amazon\_ads\_sponsored\_products\_spend.sql](https://github.com/Daasity/platform-sql-shared/blob/master/scripts/pro/1500_ums/1535_UMS_BAS_amazon_ads_sponsored_products_spend.sql)
* [github://platform-sql-shared/scripts/pro/1500\_ums/1536\_UMS\_BAS\_amazon\_ads\_sponsored\_display\_spend.sql](https://github.com/Daasity/platform-sql-shared/blob/master/scripts/pro/1500_ums/1536_UMS_BAS_amazon_ads_sponsored_display_spend.sql)
* [github://platform-sql-shared/scripts/pro/1500\_ums/1537\_UMS\_BAS\_amazon\_ads\_sponsored\_brands\_spend.sql](https://github.com/Daasity/platform-sql-shared/blob/master/scripts/pro/1500_ums/1537_UMS_BAS_amazon_ads_sponsored_brands_spend.sql)

### UMS Vendor Performance

The following code will transform the specific Amazon Ads data into the \[ums.vendor\_performance] table:

* [github://platform-sql-shared/scripts/base/1500\_ums/vendor\_kpi/2535\_UMS\_BAS\_amazon\_ads\_sponsored\_products.sql](https://github.com/Daasity/platform-sql-shared/blob/master/scripts/base/1500_ums/vendor_kpi/2535_UMS_BAS_amazon_ads_sponsored_products.sql)
* [github://platform-sql-shared/scripts/base/1500\_ums/vendor\_kpi/2536\_UMS\_BAS\_amazon\_ads\_sponsored\_display.sql](https://github.com/Daasity/platform-sql-shared/blob/master/scripts/base/1500_ums/vendor_kpi/2536_UMS_BAS_amazon_ads_sponsored_display.sql)
* [github://platform-sql-shared/scripts/base/1500\_ums/vendor\_kpi/2537\_UMS\_BAS\_amazon\_ads\_sponsored\_brands.sql](https://github.com/Daasity/platform-sql-shared/blob/master/scripts/base/1500_ums/vendor_kpi/2537_UMS_BAS_amazon_ads_sponsored_brands.sql)


# Where to Find Your Data

Here is where you can find your Amazon Ads data once the integration has been successfully implemented and data has been loaded.

## In Your Data Warehouse

If you are an Enterprise merchant, you can analyze your Amazon Ads data directly in your data warehouse.

### Raw Data

You can analyze your raw, extracted data using the tables in your [Amazon Ads Schema](/core-concepts/data-integrations/setup-guides/digital-integrations/amazon-advertising/integration-specifications#amazon-a-ds-schema).

### Transformed Data

You can also view your Amazon Ads data in more analysis-friendly tables if you set up the proper transformation code and wait for the next workflow to run.&#x20;

If you have set up [Amazon Ads transformation configuration](/core-concepts/data-integrations/setup-guides/digital-integrations/amazon-advertising/transformation-configuration-setup), then your Amazon Ads data will be transformed into the following tables:

* `ums.amazon_ads_sponsored_products_spend`
* `ums.amazon_ads_sponsored_product_display_spend`
* `ums.amazon_ads_sponsored_brands_spend`
* [`ums.vendor_performance`](/core-concepts/data-models/unified-schemas/unified-marketing-schema-ums#vendor-performance)

If you have configured your Marketing Data Mart Code, you will also find Amazon Ads data in the following table:

* `dm_mkt.fct_vendor_level_performance`

## In Looker

If you are using Daasity's Looker template, you can analyze your transformed Amazon Ads data alongside other marketing sources in the following explores & dashboards:

### Explores

* Marketing Attribution
* Vendor-Reported Marketing Performance

### Dashboards

* Marketing


# Amazon Seller Central


# Validating Your Amazon Data in Daasity

Important things to know when analyzing your Amazon Seller Central data in Daasity

Use this guide to understand which explores and dashboards to use in Daasity based on the reports you already use within Amazon.&#x20;

## Amazon Fulfillment Reports

Almost all of the order-based Amazon reporting in Daasity uses data from the All Orders report:

<figure><img src="/files/3MC5ZXeZKoIff9wn0OGY" alt=""><figcaption><p>Where to find the All Orders report in the Amazon Seller Central UI</p></figcaption></figure>

### Where to analyze this data

You can analyze data from the All Orders report in the following places.&#x20;

{% hint style="info" %}
**Filter for Source Name = `asc` to isolate Amazon data**

If you have both Amazon and owned Ecommerce data in Daasity, you'll need to filter for the `asc` source name to only show data from Amazon
{% endhint %}

**Explores**

* Order Line Revenue
* Transactional Sales
* Daily Plan to Actual
* Daily Company Metrics
* Lifetime Value Time Series

**Dashboards**

* LTV & RFM
* Retention
* Orders & Revenue
* Daily Flash
* Daily Flash vs Plan
* Hourly Flash
* Weekly Flash
* Repurchase Rates
* Product (Except for the Product Detail Page Performance, which uses the Sales and Traffic Business Report)

**Raw data tables**

* `AMAZON_SELLER_CENTRAL.GET_FLAT_FILE_ALL_ORDERS_DATA_BY_LAST_UPDATE_GENERAL`

### How to validate this data

{% embed url="<https://share.vidyard.com/watch/zTi4Nq4Nyw4rkq2R5Dcod1>" %}

#### Known causes for discrepancies

The data you see in your Daasity reporting will vary slightly from the raw All Orders reports you download from the Amazon Seller Central UI for the following reasons:

<details>

<summary><strong>Timezone conversion</strong></summary>

The raw report date/time values are always in UTC. The order data in your Daasity reporting will be converted to the timezone you have specified in your Daasity App settings.

</details>

<details>

<summary><strong>Currency conversion</strong></summary>

The monetary values in the raw Orders by Last Updated Date report will be in the source currency. The order data in your Daasity reporting will be converted to the master currency you have specified in your Daasity App settings. This will only be important to know if you are selling in multiple countries.

</details>

<details>

<summary><strong>Multiple order lines for the same SKU</strong></summary>

Amazon sometimes creates orders that have multiple lines for the same SKU, like in the example screenshot below:

<img src="/files/lyhOTK4NdOe65LvzHuiK" alt="Same product, different line items" data-size="original">

In this scenario, Daasity will pick up only one of the lines from the order and drop the other. This will result in a discrepancy in some orders' sales totals and item counts when comparing in Daasity vs Amazon. This happens in only a small subset of orders (typically less than 2%), but it unfortunately will have an impact on your reporting.&#x20;

The core reason for this issue is that the raw Amazon report we use for order-based reporting — [Flat File Orders by Last Update Report](https://help.daasity.com/extract/integrations/amazon-seller-central/integration-specifications/order-tracking-reports#flat-file-orders-by-last-update-report) (or the "All Orders" report as it's named in the UI) — accurately reflects the contents of the order, BUT it does not provide the unique order item ID that you see in the screenshot:

<img src="/files/PiYSJfI7McRNWwitMpQG" alt="" data-size="original">

If this unique order item ID was included in the report, we would use it as a primary key to help us ensure that we avoid loading duplicate data while also capturing updates to the same line over time. But since the order item ID does not come through in the raw data, we need to create a unique key from the information available in the file. We use the combination of order ID + SKU for the unique ID. In the cases like the example above, this combination is not truly unique — only the order item ID is truly unique — and as a result only one of the rows will be loaded to avoid data duplication.

</details>

<details>

<summary><strong>Customer identification for Amazon-fulfilled orders</strong></summary>

Amazon's Orders API does not include buyer email, buyer name, or shipping name for Amazon-fulfilled orders. These fields are used to generate the customer ID that powers retention and customer lifetime value reporting in Daasity.

To address this, Daasity now supplements these fields for AFN orders using data from the FBA Amazon Fulfilled Shipments Report. When the Orders API does not have a value for buyer email, buyer name, or shipping name, the corresponding value from the shipment report is used instead.

**What this means for your data:** You may notice minor shifts in Amazon customer counts or customer profiles as a result of this change — previously unmatched records are now being correctly attributed. Merchant-fulfilled (MFN) orders are unaffected. If you have questions about specific customer records, contact <support@daasity.com>.

</details>

{% hint style="warning" %}
**Choose the** Order Date **report when comparing data with Daasity**

When you download the All Orders report, you have the option of choosing to filter by Order Date or Last Updated Date:

![](/files/F0QVPxyMSJQ53RP1Ff3K)

If you are comparing data for a particular month between Daasity and the Amazon platform, it's best to **choose the Order Date option**.&#x20;

**Don't** use the Last Updated Date option. If you're trying to compare data for orders placed in January 2024, for example, and you choose the Last Updated date option, that file could contain orders that were placed prior to January 2024. Additionally, if an order placed in January 2024 was updated in a later month, that order would *not* show up in that report download.
{% endhint %}

{% hint style="warning" %}
**Compare gross sales in Daasity with the sum of item-price in the All Orders exports**

Since the export contains and **item-price** column and a **quantity** column, you may (understandably) assume that you need to multiply **item-price** by **quantity** to get the full sales amount for the line item. In reality, **item-price** will reflect the sales amount for the entire line — it is *not* a unit price.
{% endhint %}

## Amazon Business Reports

Daasity standard reports will use data from the Sales and Traffic report and the Detail Page Sales and Traffic report from Amazon.&#x20;

### Where to analyze this data

#### Amazon Sales and Traffic report

<figure><img src="/files/xwyiNNdJugs3G9Gh3K2S" alt=""><figcaption><p>Where to find the Sales &#x26; Traffic report in the Amazon Seller Central UI</p></figcaption></figure>

You can analyze data from the Sales and Traffic report in the following places:

{% hint style="info" %}
**Filter for Data Source = `Amazon` to isolate Amazon data**

If you have both Google Analytics and Amazon data connected to Daasity, you'll need to filter for the `Amazon` data source to only show data from Amazon.
{% endhint %}

Explores

* Traffic
* Daily Plan to Actual\*

Dashboards

* Analytics & Attribution
* Daily Flash\*
* Daily Flash vs Plan\*
* Weekly Flash\*

\* Only sessions from the Amazon Sales and Traffic report are used in these reports/explores. The sales and order data will be from the Amazon Orders by Last Updated Date fulfillment report.

**Raw data tables**

* `AMAZON_SELLER_CENTRAL.SALES_AND_TRAFFIC_REPORT`

#### Amazon Detail Page Sales and Traffic report

<figure><img src="/files/eTYqr8uplq2E286wV9UT" alt=""><figcaption><p>Where to find the Detail Page Sales &#x26; Traffic report in the Amazon Seller Central UI</p></figcaption></figure>

You can analyze data from the Detail Page Sales and Traffic report in the following places:

{% hint style="info" %}
**Filter for Data Source = `Amazon` to isolate Amazon data**

If you have both Google Analytics and Amazon data connected to Daasity, you'll need to filter for the `Amazon` data source to only show data from Amazon.
{% endhint %}

**Explores**

* Product Page

**Dashboards**

* Product (Only the Product Detail Page Performance tile)

**Raw data tables**

* `AMAZON_SELLER_CENTRAL.SALES_AND_TRAFFIC_SKU_REPORT`

### Known causes for discrepancies

Where this data is used in standard reports (listed in the previous section), it should match the UI exactly, except for any updates that have been made to orders since the data was extracted. For example, if we extract and transform the data at 1AM, there may be some changes between that time and when you analyze the data in the morning that will not be reflected in the Daasity reports.

**However**, when if you compare data from the Amazon Business Reports with other order-based reporting in Daasity (e.g.: Order Line Revenue, Transactional Sales, Daily Plan to Actual), there will be discrepancies for the following reasons:

<details>

<summary><strong>Timezone conversion</strong></summary>

The Amazon Business Reports will reflect [the marketplace timezone](https://developer.amazon.com/docs/reports-promo/reporting-FAQ.html) set by Amazon. So if you are looking at reports for a US marketplace, for example, **all of the data will reflect the Los Angeles time zone**.&#x20;

Keep this in mind when comparing data from your Business Reports with Amazon order data in Daasity. All order data in Daasity is taken from the Orders by Last Updated Date fulfillment report and has been converted to match your Daasity account timezone settings. If your Daasity account is set to a timezone different from the marketplace you are comparing in the Amazon UI, you should expect a discrepancy.

</details>

<details>

<summary><strong>Data loss for orders with multiple lines for the same SKU</strong></summary>

As mentioned in the Amazon Fulfillment Reports section, there is an issue with the data export if an order has multiple lines for the same sku. Please read the **Known causes for discrepancies** section for the Fulfillment Reports for more details.

</details>

\ <br>


# Comparing Your Amazon Seller Central Orders to Daasity

To check the accuracy of your Amazon Seller Central Data in Daasity please follow the steps below.

## Amazon Sales and Order data (Pending Status)

If your Amazon Sales and/or Order Data is different than what you see in the Amazon UI, please be sure to check the Amazon **Order Status.**

<mark style="background-color:green;">The reports we pull from Amazon have incomplete data for orders with a status of</mark> <mark style="background-color:green;"></mark><mark style="background-color:green;">**"pending"**</mark><mark style="background-color:green;">.</mark>

We are able to get Gross Item Revenue for "Pending Orders" However, the reports do NOT include the following for pending orders:&#x20;

* Item-level discount amount&#x20;
* Shipping revenue&#x20;
* Shipping tax revenue
* Tax revenue

As a result, Net Revenue and some other measures may change over time as the status changes from **"pending"** to a **"shipped"** or **"fulfilled"** status.

Depending on the payment method an order may move from **"pending"** to another status within one day or as log as five days.

## Comparing the Source Data with Daasity's Extracted Data

Daasity pulls your Order Data from the [Amazon Flat File Orders by Last Update Report](https://help.daasity.com/extract/integrations/amazon-seller-central/integration-specifications/order-tracking-reports) because it contains the most comprehensive data.

To find this report, follow these steps:

### 1. Navigate to the Fulfillment Report

Login to your Amazon Seller Central portal to check the Order Data in Daasity against your Amazon Seller Central Orders data.

<div align="left"><figure><img src="/files/InaL3Rq33JebLq0MwwSx" alt="" width="375"><figcaption><p>Navigate to Reports > Fulfillment</p></figcaption></figure></div>

### 2. Open the All Orders Report

<div align="left"><figure><img src="/files/VkCzpG71wmT9lauUImLT" alt="" width="348"><figcaption><p>All Orders will Match Daasity Orders</p></figcaption></figure></div>

### 3. Download the All Orders Report to a .CSV Spreadsheet

<div align="left" data-full-width="true"><figure><img src="/files/kYpbUdbIAcDGMfCxaJuW" alt=""><figcaption><p>Download the All Orders Report</p></figcaption></figure></div>

### 4. Compare the Downloaded All Orders Report to the Orders in your Daasity UI

## Discrepancies with the Business Reports

If you are comparing the **Ordered product sales** metrics in the Amazon Business Reports section, you will notice there will be a slight discrepancy between the numbers in these reports and the numbers in your Daasity reports. This is because Amazon's Seller Central Business Reports do not tie out exactly with Amazon's All Orders report, which is what we use to derive all of the revenue metrics in your Daasity reports.

Amazon has acknowledged the discrepancy in their Business Reports documentation:

<figure><img src="/files/FUggBawX5xiH2bgP2U1t" alt=""><figcaption><p><a href="https://sellercentral.amazon.com/help/hub/reference/G28761">https://sellercentral.amazon.com/help/hub/reference/G28761</a></p></figcaption></figure>

The All Orders report and the Business Reports will be very close, but they will not match exactly. Since these two sources of Amazon data do not match exactly, our reports will not either.

The reason we use the All Orders report rather than the Business Reports is the All Orders report gives you more granular information. It provides item and order level detail, whereas the Business Reports provide an aggregate view.

## How to Grant Daasity Access to Amazon Seller Central

If Daasity support requests access to your Amazon Seller Central Account to investigate/troubleshoot a concern. Please follow the steps below

### Click on the Gear (Settings) from your Home Screen in Amazon Seller Central

<figure><img src="/files/ZNnWFDHJx2NKKKOY8CVJ" alt=""><figcaption><p>Click the Gear in top-right corner</p></figcaption></figure>

### Choose 'User Permissions' from the Drop Down

<figure><img src="/files/qxDFWnECogTWNGTCG7MS" alt=""><figcaption><p>User Permissions</p></figcaption></figure>

### Scroll Down to Add New User&#x20;

<figure><img src="/files/fFukgCmyqZZ7dQTKiZJ8" alt=""><figcaption><p>New User Section</p></figcaption></figure>

### Enter Daasity Information and Click Invite

<figure><img src="/files/DYWd4cKn9Hy5A9D87K4p" alt=""><figcaption><p>Enter Daasity in Add New User Section</p></figcaption></figure>

{% hint style="success" %}
Use **<amazon@daasity.com>** email address
{% endhint %}

{% hint style="success" %}
**Once Daasity accepts your invitation you will be prompted to approve**
{% endhint %}

### Grant Access to ALL of The Reports Listed Below

<figure><img src="/files/JB1QIGF7YTtUi425iJk0" alt=""><figcaption><p>Grant acces to all of these reports</p></figcaption></figure>

* Advertising > Campaign Manager - View
* Orders > Manage Orders - View (this is so we can compare data in the reports to the actual orders)
* Reports > Business Reports, Sales Summary - View & Edit (This is so we can view the business reports)
* Reports > Fulfillment Reports - View & Edit (This is so we can download raw All Orders report CSVs to compare with the extracted data)

Return to User Permissions

<figure><img src="/files/kQMGkPDyGP9h1kSJPrE3" alt=""><figcaption><p>User Permissions</p></figcaption></figure>

### Click Manage Permissions Next to our User

<figure><img src="/files/Vo97utc3xTi0U27hfGM3" alt=""><figcaption><p>Manage Permissions</p></figcaption></figure>

### Scroll Down to Reports and Click 'View' Access for "Fulfillment Report"

<figure><img src="/files/Ky2eenEc6tusbvzBKJ4c" alt=""><figcaption><p>Click the circle for "View" Fulfillment Reports</p></figcaption></figure>

### Scroll to the Bottom of the Page and Click "Continue"

<figure><img src="/files/cIs1aiiYjAVidrKiu9Wa" alt=""><figcaption><p>Click Continue</p></figcaption></figure>

### Grant Access to Advertising

Return to User Permissions

<figure><img src="/files/LwZqFY0u4Coz9I1a2YlP" alt=""><figcaption><p>User Permissions</p></figcaption></figure>

### Click Manage Permissions Next to our User

<figure><img src="/files/tAaIrYBr4je9V6vkjrRF" alt=""><figcaption><p>Manage Permissions</p></figcaption></figure>

### Scroll Down to Advertising and Click 'View' Access for All Advertising Reports

<figure><img src="/files/fwFsc2R4Vr1oaVezIb9c" alt=""><figcaption><p>Advertising Reports</p></figcaption></figure>


# Integration Setup

To Connect Amazon Seller Central to Daasity Please follow the steps below.

{% hint style="warning" %}
**You will need Owner Access of your Amazon Seller Central Account to Connect to Daasity**
{% endhint %}

{% hint style="success" %}
Amazon Seller Central API allows Daasity to pull 3 years of Historical Data&#x20;
{% endhint %}

Steps for Connecting Amazon Seller Central

## Step 1: Integrations

<figure><img src="/files/7rGll8vPkGzbulDrBvGb" alt=""><figcaption><p>Click Integrations from Left-Side Menu Bar</p></figcaption></figure>

## Step 2: New Integration

<figure><img src="/files/dMGJycWWrceRnB32uxLZ" alt=""><figcaption><p>Click the New Integration Button on top-right of screen</p></figcaption></figure>

## Step 3: Amazon Seller Central Icon

<figure><img src="/files/7lD2FdzUPE5vb95xYhHU" alt=""><figcaption><p>Click the Amazon Seller Central icon from the Integration Page</p></figcaption></figure>

## Step 4: Choose the Region to Active

<figure><img src="/files/yMcJ7v9FjG9cd1TZBhRp" alt=""><figcaption><p>Choose which Region to Activate</p></figcaption></figure>

<figure><img src="/files/PhfRF76vYMhfDGdH7tDB" alt=""><figcaption><p>Toggle on the Regions</p></figcaption></figure>

## Step 5: Enter your Seller ID (Merchant Token) and Authorize Daasity

### Locate Your Seller ID (Merchant Token) in Amazon

### Login to Amazon Seller Central

### Choose "Account Settings" From the Settings Gear Icon Dropdown

<figure><img src="/files/UsPSyJl91T3ERto1n0Lb" alt=""><figcaption><p>Account Info</p></figcaption></figure>

### Choose 'Merchant Token' in the Business Information Section

<figure><img src="/files/lXLJK7VbOplWnYCbDMPb" alt=""><figcaption><p>Click Merchant Token</p></figcaption></figure>

### Copy your Merchant Token and Paste in Seller ID in Daasity

<figure><img src="/files/ZvKDwTItMaV8UaEMLBo2" alt=""><figcaption><p>Copy your Merchant Token</p></figcaption></figure>

## Step 6: Authorize Daasity

<figure><img src="/files/JLaZ4QUYM669e68XJCbj" alt=""><figcaption><p>Login to Amazon Seller Central and Authorize Daasity to Connect</p></figcaption></figure>

## Step 7: Load Historical Data

<figure><img src="/files/YHkWzsdqFv4zvWW6xiKf" alt=""><figcaption><p>Historical Data will Load Automatically</p></figcaption></figure>

{% hint style="warning" %}
**Due to Amazon API restrictions Historical Data can take several days to Load**
{% endhint %}


# Configure Amazon Reports

After you connect your Amazon Seller Central store you must configure your Amazon reports in order to populate the data from the Amazon endpoints.

{% hint style="warning" %}
**NOTE: You Must Repeat ALL of these Steps For All Reports**
{% endhint %}

{% hint style="warning" %}
**NOTE: Due to Amazon API restrictions please limit the number of Reports you load simultaneously**
{% endhint %}

## Step 1: Click the Configure Reports button

![](https://info.daasity.com/hubfs/image-png-Aug-30-2022-08-32-12-18-PM.png)

## Step 2: Choose the report to configure

{% hint style="info" %}
Note: Two of these reports use different names here than in the product announcement. "Flat File Returns by Returns Date" is listed as Returns, and "Customer Shipment Promotion" is listed as FBA Promotions.
{% endhint %}

![You wil have to setup each report seperately](https://info.daasity.com/hubfs/image-png-Aug-30-2022-08-32-30-96-PM.png)

![Choose each report to configure](https://info.daasity.com/hubfs/image-png-Aug-30-2022-08-32-38-52-PM.png)

## Step 3: Enable the Marketplace for the Report

## Step 4: Load Historical Data

{% hint style="info" %}
Note: Self-serve history loads are limited to roughly 3 months. To backfill more history, contact Daasity Support at <support@daasity.com>.
{% endhint %}

![](https://info.daasity.com/hubfs/image-png-Aug-30-2022-08-33-09-56-PM.png)

## Step 5: Confirm History Load (Box should be Gray)

<img src="https://info.daasity.com/hubfs/Screen%20Shot%202022-11-10%20at%201.25.49%20PM.png" alt="Screen Shot 2022-11-10 at 1.25.49 PM" height="348" width="382">

<img src="https://info.daasity.com/hubfs/Screen%20Shot%202022-11-10%20at%201.09.48%20PM.png" alt="History Loading" height="115" width="688">

Please See this Article to Monitor your Amazon Seller Central Reports

<img src="https://info.daasity.com/hubfs/table-png.png" alt="Monitor your Reports" height="551" width="688">

&#x20;


# Monitor Amazon Reports

To monitor the status of your Amazon Seller Central Reports please follow these instructions.

<img src="https://info.daasity.com/hubfs/table-png.png" alt="Use the Color-Coded Table to check the status of each report. " height="551" width="688">

&#x20;The Legend at the Top of the Table Defines the Report Status&#x20;

<img src="https://info.daasity.com/hubfs/legend%20for%20amazon.png" alt="legend for Amazon Report Status" height="143" width="688">

| Color  | Report Status           |
| ------ | ----------------------- |
| Green  | [Active](#active)       |
| Orange | [Inactive](#inactive)   |
| Red    | [Failed](#failed)       |
| Yellow | [Cancelled](#cancelled) |
| Gray   | [History](#history)     |

&#x20;Click a Report (Rectangle in the Table) to see the Report Status

<img src="https://info.daasity.com/hubfs/table.png" alt="Report Status" height="551" width="688">

## &#x20;Report Status Troubleshooting

### Active

An Active Report (Green) is a Report that has Successfully Updated. Processing Status = DONE

<img src="https://info.daasity.com/hubfs/active%20view.png" alt="Active View" height="474" width="688">

&#x20;

***

### Inactive

An Inactive (Orange) Report has been Deactivated.

<img src="https://info.daasity.com/hubfs/deactive%20view.png" alt="Deactive View" height="157" width="688">

Activate the Report by Clicking the Green Activate Button in the Top-Left Corner of the Screen

<img src="https://info.daasity.com/hubfs/Screen%20Shot%202022-11-10%20at%2012.44.08%20PM.png" alt="Activate a Report" height="372" width="422">

***

### Failed

A Failed Report (Red) is a Report that Failed to Process most likely due to an Amazon API error.

{% hint style="info" %}
**Please Email: <Support@daasity.com> to troubleshoot a Failed Report**
{% endhint %}

<img src="https://info.daasity.com/hubfs/Screen%20Shot%202022-11-10%20at%2012.55.10%20PM.png" alt="Processing Status = FATAL" height="585" width="688">

{% hint style="info" %}
NOTE: **If Processing Status = FATAL for multiple dates consecutively we recommend Deactivating the report and Contacting Amazon support.**
{% endhint %}

<img src="https://info.daasity.com/hubfs/error%20view%20-%20deactive-1.png" alt="Deactivate a Report that Fails Multiple Times" height="279" width="688">

***

&#x20;

### Cancelled

A Cancelled Report (Yellow) has been Cancelled by Amazon due to Zero Data.

{% hint style="info" %}
**NOTE:** **If a Report has been Cancelled multiple times in a row.  Deactivate the Report because Amazon has strict API limitations and attempting to run a Cancelled Report will bog down the system. Email <support@daasity.com> to investigate further**
{% endhint %}

***

### &#x20;History

A History(Grey) Report is a Report that is Still Loading Historical Data.&#x20;

<img src="https://info.daasity.com/hubfs/Screen%20Shot%202022-11-10%20at%201.09.48%20PM.png" alt="Historical Data Takes Time to Load" height="115" width="688">

{% hint style="info" %}
**NOTE: Amazon API Limitations cause Historical Data to take Several Days to complete.**
{% endhint %}

&#x20;


# Integration Specifications

This section will help you learn about how Daasity replicates data from Amazon Seller Central using the Amazon Selling Partner API.

## Integration Overview

Amazon started retiring the old [MWS platform](https://docs.developer.amazonservices.com/en_US/dev_guide/index.html) on July 31st, 2022 and using the new [REST API platform](https://developer-docs.amazon.com/sp-api/) also called the Selling Partner API.

This new rest API based platform is a great improvement on the old MWS platform as we have access to a much larger number of endpoints.

Daasity has migrated all old integrations to the new Selling Partner API and we are constantly building new functionality as Amazon releases new endpoints.

## Integration Availability

This integration is available for:

* Enterprise
* Growth

## API Endpoints

The Daasity Amazon Seller Central extractor is built based on this [Amazon Seller Central API documentation](https://developer-docs.amazon.com/sp-api/docs/what-is-the-selling-partner-api). The following endpoints are used by Daasity to replicate data from Amazon Seller Central:

* [Orders](https://developer-docs.amazon.com/sp-api/docs/orders-api-v0-reference)
* [Reports](https://developer-docs.amazon.com/sp-api/docs/reports-api-v2021-06-30-reference)
  * [Fulfillment by Amazon (FBA) Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#fulfillment-by-amazon-fba-reports)
  * [Inventory](https://developer-docs.amazon.com/sp-api/docs/report-type-values#inventory-reports)
  * [Order Tracking](https://developer-docs.amazon.com/sp-api/docs/report-type-values#order-tracking-reports)
  * [Performance](https://developer-docs.amazon.com/sp-api/docs/report-type-values#performance-reports)
  * [Returns](https://developer-docs.amazon.com/sp-api/docs/report-type-values#returns-reports)
  * [Seller Retail Analytics](https://developer-docs.amazon.com/sp-api/docs/report-type-values#seller-retail-analytics-reports)
  * [Settlement](https://developer-docs.amazon.com/sp-api/docs/report-type-values#settlement-reports)

## ERD & Integration Details

Each of the above endpoints is detailed in a separate document due to the size and complexity of the Amazon Selling Parter API.  Follow these links to access the ERD and details for each endpoint:

* Order API
  * [Orders](/core-concepts/data-integrations/setup-guides/digital-integrations/amazon-seller-central/integration-specifications/orders-api)
* Report API
  * [FBA Customer Concessions](/core-concepts/data-integrations/setup-guides/digital-integrations/amazon-seller-central/integration-specifications/fba-customer-concessions-reports)
  * [FBA Sales](/core-concepts/data-integrations/setup-guides/digital-integrations/amazon-seller-central/integration-specifications/fba-sales-reports)
  * [FBA Inventory](/core-concepts/data-integrations/setup-guides/digital-integrations/amazon-seller-central/integration-specifications/fba-inventory-reports)
  * [FBA Removals](/core-concepts/data-integrations/setup-guides/digital-integrations/amazon-seller-central/integration-specifications/fba-removals-reports)
  * [Inventory](/core-concepts/data-integrations/setup-guides/digital-integrations/amazon-seller-central/integration-specifications/inventory-reports)
  * [Order Tracking](/core-concepts/data-integrations/setup-guides/digital-integrations/amazon-seller-central/integration-specifications/order-tracking-reports)
  * [Performance Reports](/core-concepts/data-integrations/setup-guides/digital-integrations/amazon-seller-central/integration-specifications/performance-reports)
  * [Returns](/core-concepts/data-integrations/setup-guides/digital-integrations/amazon-seller-central/integration-specifications/returns-reports)
  * [Seller Retail Analytics](/core-concepts/data-integrations/setup-guides/digital-integrations/amazon-seller-central/integration-specifications/seller-retail-analytics-reports)
  * [Settlement](/core-concepts/data-integrations/setup-guides/digital-integrations/amazon-seller-central/integration-specifications/settlement-reports)


# Orders API

This page will help you learn about how Daasity replicates data from the Amazon Selling Partner Orders API, limitations to the data we can extract and where the data is stored in the schema.

{% hint style="warning" %}
**Only 2 years of history is available through the Amazon Orders API**

If an order is more than 2 years older than the day you begin to load history, we will not be able to retrieve that data because it is not made available through the API ([source](https://developer-docs.amazon.com/sp-api/docs/orders-api-v0-reference#overview)).
{% endhint %}

## Integration Overview

The Daasity Amazon Seller Central integrations utilize the Selling Partner API (SP-API) which is a REST-based API that helps Amazon selling partners programmatically access their data on orders, shipments, payments, and more.

## Integration Availability

This integration is available for:

* Enterprise
* Growth

## API Endpoints

The Daasity Amazon Seller Central - Orders API extractor is built based on this [Amazon Seller Central API documentation](https://developer-docs.amazon.com/sp-api/docs/what-is-the-selling-partner-api). The following endpoints are used by Daasity to replicate data from Amazon Seller Central:

* [Orders API](https://developer-docs.amazon.com/sp-api/docs/orders-api-v0-reference)

## Entity Relationship Diagram (ERD)

[Click here to view the ERD for the Daasity Amazon Seller Central - Orders API integration](https://lucid.app/documents/embedded/56562bef-d714-4b60-b311-8a45871fa77e) illustrating the different tables and keys to join across tables.

## Amazon Seller Central Schema

The Orders API will generate files in one of three formats (CSV, XML, and JSON). A report might vary slightly for each Seller Central account and thus Daasity will dynamically create the table based on the file extracted from Amazon. Thus each table will be a direct mapping from the file output to the table with no transformation.

* [ASC Orders](#asc-orders)

### **ASC Orders**

* Endpoint: [Orders](https://developer-docs.amazon.com/sp-api/docs/orders-api-v0-reference#getorders)
* Update Method: UPSERT
* Table Name: \
  \[`AMAZON_SELLER_CENTRAL.ASC_ORDERS`]

{% hint style="info" %}
**Limitations:**

* Daasity's default request is hourly.
* Amazon data is updated daily.
  {% endhint %}


# FBA Customer Concessions Reports

This page is about how Daasity replicates data from FBA Customer Concession section of the Amazon Selling Partner Reports API, limitations to the data we can extract, and where data is stored.

## Integration Overview

The Daasity Amazon Seller Central integrations utilize the Selling Partner API (SP-API) which is a REST-based API that helps Amazon selling partners programmatically access their data on orders, shipments, payments, and more.

## Integration Availability

This integration is available for:

* Enterprise

## API Endpoints

The Daasity Amazon Seller Central - Reports API - FBA Customer Concessions extractor is built based on this [Amazon Seller Central API documentation](https://developer-docs.amazon.com/sp-api/docs/what-is-the-selling-partner-api). The following endpoints are used by Daasity to replicate data from Amazon Seller Central:

* [Reports](https://developer-docs.amazon.com/sp-api/docs/reports-api-v2021-06-30-reference)
* [Fulfillment by Amazon (FBA) Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#fulfillment-by-amazon-fba-reports)

## Entity Relationship Diagram (ERD)

[Click here to view the Daasity Amazon Seller Central - Reports API - FBA Customer Concessions integration](https://lucid.app/documents/embedded/6a00b96a-8b12-46cd-a5bc-33cf9ea91e4b) illustrating the different tables and keys to join across tables.

## Amazon Seller Central Schema

The Reports API will generate files in one of three formats (CSV, XML, and JSON). A report might vary slightly for each Seller Central account and thus Daasity will dynamically create the table based on the file extracted from Amazon. Thus each table will be a direct mapping from the file output to the table with no transformation.

* [FBA Returns Report](#fba-returns-report)
* [FBA Replacements Report](#fba-replacements-report)

### **FBA Returns Report**

* This report provides data on how many units of a SKU or set of SKUs have been returned and credited to your inventory balance.
* Endpoint: [FBA Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#fulfillment-by-amazon-fba-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_FBA_FULFILLMENT_CUSTOMER_RETURNS_DATA`]

{% hint style="info" %}
**Limitations:**

* Daasity extracts data every 24 hours.
* Amazon updates data daily.
  {% endhint %}

### **FBA Replacements Report**

* This report provides data on replacements that have been issued to customers for completed orders including the original order, the replacement order, and the reason for the replacement.
* Endpoint: [FBA Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#fulfillment-by-amazon-fba-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_FBA_FULFILLMENT_CUSTOMER_SHIPMENT_REPLACEMENT_DATA`]

{% hint style="info" %}
**Limitations:**

* Daasity extracts data every 24 hours.
* Amazon updates data daily.
  {% endhint %}


# FBA Sales Reports

This page is about how Daasity replicates data from the FBA Sales section of the Amazon Selling Partner Reports API, limitations to the data we can extract and where the data is stored in the schema.

## Integration Overview

The Daasity Amazon Seller Central integrations utilize the Selling Partner API (SP-API) which is a REST-based API that helps Amazon selling partners programmatically access their data on orders, shipments, payments, and more.

## Integration Availability

This integration is available for:

* Enterprise

## API Endpoints

The Daasity Amazon Seller Central - Reports API - FBA Sales extractor is built based on this [Amazon Seller Central API documentation](https://developer-docs.amazon.com/sp-api/docs/what-is-the-selling-partner-api). The following endpoints are used by Daasity to replicate data from Amazon Seller Central:

* [Reports](https://developer-docs.amazon.com/sp-api/docs/reports-api-v2021-06-30-reference)
* [Fulfillment by Amazon (FBA) Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#fulfillment-by-amazon-fba-reports)

## Entity Relationship Diagram (ERD)

[Click here to view the ERD for the Daasity Amazon Seller Central - Reports API - FBA Sales integration](https://lucid.app/documents/embedded/82aba545-63e1-415e-9a9d-98744e98e643) illustrating the different tables and keys to join across tables.

## Amazon Seller Central Schema

The Reports API will generate files in one of three formats (CSV, XML, and JSON). A report might vary slightly for each Seller Central account and thus Daasity will dynamically create the table based on the file extracted from Amazon. Thus each table will be a direct mapping from the file output to the table with no transformation.

* [FBA Promotions Report](#fba-promotions-report)

### **FBA Promotions Report**

* This report contains promotions applied to FBA customer orders sold through Amazon, such as Super Saver Shipping.
* Endpoint: [FBA Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#fulfillment-by-amazon-fba-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_FBA_FULFILLMENT_CUSTOMER_SHIPMENT_PROMOTION_DATA`]

{% hint style="info" %}
**Limitations:**

* Can only be extracted every 24 hours.
* Amazon data is updated daily.
  {% endhint %}

<br>


# FBA Inventory Reports

This page about how Daasity replicates data from the FBA Inventory section of the Amazon Selling Partner Reports API, limitations to the data we can extract and where the data is stored.

## Integration Overview

The Daasity Amazon Seller Central integrations utilize the Selling Partner API (SP-API) which is a REST-based API that helps Amazon selling partners programmatically access their data on orders, shipments, payments, and more.

## Integration Availability

This integration is available for:

* Enterprise
* Growth

{% hint style="info" %}
For Growth merchants, please note that only the \[`FBA Manage Inventory Report`] is used.
{% endhint %}

## API Endpoints

The Daasity Amazon Seller Central - Reports API - FBA Inventory extractor is built based on this [Amazon Seller Central API documentation](https://developer-docs.amazon.com/sp-api/docs/what-is-the-selling-partner-api). The following endpoints are used by Daasity to replicate data from Amazon Seller Central:

* [Reports](https://developer-docs.amazon.com/sp-api/docs/reports-api-v2021-06-30-reference)
* [Fulfillment by Amazon (FBA) Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#fulfillment-by-amazon-fba-reports)

## Entity Relationship Diagram (ERD)

[Click here to view the Daasity Amazon Seller Central - Reports API - FBA Inventory integration](https://lucid.app/documents/embedded/0fa8fbef-79cb-4120-a6fc-dfcddee657da) illustrating the different tables and keys to join across tables.

## Amazon Seller Central Schema

The Reports API will generate files in one of three formats (CSV, XML, and JSON). A report might vary slightly for each Seller Central account and thus Daasity will dynamically create the table based on the file extracted from Amazon. Thus each table will be a direct mapping from the file output to the table with no transformation.

* [FBA Amazon Fulfilled Inventory Report](#fba-amazon-fulfilled-inventory-report)
* [FBA Multi-Country Inventory Report](#fba-multi-country-inventory-report)
* [Inventory Ledger Report - Summary View](#inventory-ledger-report-summary-view)
* [Inventory Ledger Report - Detailed View](#inventory-ledger-report-detailed-view)
* [FBA Daily Inventory History Report](#fba-daily-inventory-history-report)
* [FBA Monthly Inventory History Report](#fba-monthly-inventory-history-report)
* [FBA Received Inventory Report](#fba-received-inventory-report)
* [FBA Reserved Inventory Report](#fba-reserved-inventory-report)
* [FBA Inventory Event Detail Report](#fba-inventory-event-detail-report)
* [FBA Inventory Adjustments Report](#fba-inventory-adjustments-report)
* [FBA Inventory Health Report](#fba-inventory-health-report)
* [FBA Manage Inventory](#fba-manage-inventory)
* [FBA Manage Inventory - Archived](#fba-manage-inventory-archived)
* [Restock Inventory Report](#restock-inventory-report)
* [FBA Inbound Performance Report](#fba-inbound-performance-report)
* [FBA Stranded Inventory Report](#fba-stranded-inventory-report)
* [FBA Bulk Fix Stranded Inventory Report](#fba-bulk-fix-stranded-inventory-report)
* [FBA Manage Excess Inventory Report](#fba-manage-excess-inventory-report)
* [FBA Storage Fees Report](#fba-storage-fees-report)
* [FBA Manage Inventory Health Report](#fba-manage-inventory-health-report)

### **FBA Amazon Fulfilled Inventory Report**

* This report provides data on the status and quantity of your inventory in the Amazon Fulfillment Network (AFN).
* Endpoint: [FBA Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#fulfillment-by-amazon-fba-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_AFN_INVENTORY_DATA`]

{% hint style="info" %}
**Limitations:**

* Daasity's default request is every 24 hours.
  * To opt in for real-time or hourly requests, please reach out to <Support@Daasity.com>
* Amazon data is updated daily.
  {% endhint %}

### **FBA Multi-Country Inventory Report**

* This report provides data on the status and quantity of your inventory in the Amazon Fulfillment Network (AFN) by country for European marketplaces.
* Endpoint: [FBA Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#fulfillment-by-amazon-fba-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_AFN_INVENTORY_DATA_BY_COUNTRY`]

{% hint style="info" %}
**Limitations:**

* This feature can be requested **only for FBA Sellers in Europe Central sellers**.
* Daasity's default request is every 24 hours.
  * To opt in for real-time or hourly requests, please reach out to <Support@Daasity.com>
* Amazon data is updated daily.
  {% endhint %}

### **Inventory Ledger Report - Summary View**

* This report provides data on your inventory and is like a "bank statement" of your inventory. It provides end-to-end inventory reconciliation capability by showing starting inventory balance, received inventory, customer orders, customer returns, adjustments, removals and ending balance.
* Endpoint: [FBA Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#fulfillment-by-amazon-fba-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_LEDGER_SUMMARY_VIEW_DATA`]

{% hint style="info" %}
**Limitations:**

* Can only be extracted every 24 hours.
* Amazon data is updated daily.
  {% endhint %}

### **Inventory Ledger Report - Detailed View**

* This report provides data on inventory movements to and from Amazon fulfillment centers, including products that are sold, returned, removed/disposed, damaged, lost, and found.
* Endpoint: [FBA Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#fulfillment-by-amazon-fba-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_LEDGER_DETAIL_VIEW_DATA`]

{% hint style="info" %}
**Limitations:**

* Can only be extracted every 24 hours.
* Amazon data is updated daily.
* You can **only view 18 months'** worth in a single report.
  {% endhint %}

### **FBA Daily Inventory History Report**

* This report provides a daily snapshot of your inventory in the different fulfillment centers in the Amazon Fulfillment Network (AFN) with the quantity and disposition of the inventory in each location.
* Endpoint: [FBA Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#fulfillment-by-amazon-fba-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_FBA_FULFILLMENT_CURRENT_INVENTORY_DATA`]

{% hint style="info" %}
**Limitations:**

* Can only be extracted every 24 hours.
* Amazon data is updated daily.
  {% endhint %}

### **FBA Monthly Inventory History Report**

* This report provides a monthly snapshot of your available inventory in Amazon’s fulfillment centers including average and end-of-month quantity, location, and disposition.
* Endpoint: [FBA Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#fulfillment-by-amazon-fba-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_FBA_FULFILLMENT_MONTHLY_INVENTORY_DATA`]

{% hint style="info" %}
**Limitations:**

* Can only be extracted every 24 hours.
* Amazon data is updated daily.
  {% endhint %}

### **FBA Received Inventory Report**

* This report provides data on inventory that has completed the receive process at Amazon's fulfillment centers.
* Endpoint: [FBA Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#fulfillment-by-amazon-fba-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_FBA_FULFILLMENT_INVENTORY_RECEIPTS_DATA`]

{% hint style="info" %}
**Limitations:**

* Can only be extracted every 24 hours.
* Amazon data is updated daily.
  {% endhint %}

### **FBA Reserved Inventory Report**

* This report provides data about the number of reserved units in the Amazon Fulfillment Network (AFN) including units reserved for customer orders, transfers between fulfillment centers, and inventory being processed.
* Endpoint: [FBA Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#fulfillment-by-amazon-fba-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_RESERVED_INVENTORY_DATA`]

{% hint style="info" %}
**Limitations:**

* Daasity's default request is every 24 hours.
  * To opt in for real-time or hourly requests, please reach out to <Support@Daasity.com>
* Amazon data is updated daily.
  {% endhint %}

### **FBA Inventory Event Detail Report**

* This report provides data on inventory events for receipts, shipments, adjustments, etc. by SKU and fulfillment center.
* Endpoint: [FBA Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#fulfillment-by-amazon-fba-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_FBA_FULFILLMENT_INVENTORY_SUMMARY_DATA`]

{% hint style="info" %}
**Limitations:**

* Can only be extracted every 24 hours.
* Amazon data is updated daily.
  {% endhint %}

### **FBA Inventory Adjustments Report**

* This report provides data on corrections and updates to your inventory in response to issues such as damage, loss, receiving discrepancies, etc.
* Endpoint: [FBA Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#fulfillment-by-amazon-fba-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_FBA_FULFILLMENT_INVENTORY_ADJUSTMENTS_DATA`]

{% hint style="info" %}
**Limitations:**

* Can only be extracted every 24 hours.
* Amazon data is updated daily.
  {% endhint %}

### **FBA Inventory Health Report**

* This report provides data to help you manage your inventory. It gives you a consolidated view of your inventory metrics across sales, shipment statuses, fees, and aged and excess units to help you identify and take action on your overstocked inventory.
* Endpoint: [FBA Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#fulfillment-by-amazon-fba-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_FBA_FULFILLMENT_INVENTORY_HEALTH_DATA`]

{% hint style="info" %}
**Limitations:**

* Can only be extracted every 24 hours.
* Amazon data is updated daily.
  {% endhint %}

### **FBA Manage Inventory**

* This report provides data on the listing, condition, disposition, and quantity information of your inventory in the Amazon Fulfillment Network (AFN) and if the SKU is available via the Merchant Fulfillment Network (MFN).
* Endpoint: [FBA Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#fulfillment-by-amazon-fba-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_FBA_MYI_UNSUPPRESSED_INVENTORY_DATA`]

{% hint style="info" %}
**Limitations:**

* Daasity's default request is every 24 hours.
  * To opt in for real-time or hourly requests, please reach out to <Support@Daasity.com>
* Amazon data is updated daily.
  {% endhint %}

### **FBA Manage Inventory - Archived**

* This report provides data on the listing, condition, disposition, and quantity information of your inventory for listings that have been archived.
* Endpoint: [FBA Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#fulfillment-by-amazon-fba-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_FBA_MYI_ALL_INVENTORY_DATA`]

{% hint style="info" %}
**Limitations:**

* Daasity's default request is every 24 hours.
  * To opt in for real-time or hourly requests, please reach out to <Support@Daasity.com>
* Amazon data is updated daily.
  {% endhint %}

### **Restock Inventory Report**

* This report provides recommendations on products to restock, suggested replenishment quantities, and ship dates. It helps you keep track of your inventory so that you can maximize sales by meeting product demand while avoiding overstocking.
* Endpoint: [FBA Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#fulfillment-by-amazon-fba-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_RESTOCK_INVENTORY_RECOMMENDATIONS_REPORT`]

{% hint style="info" %}
**Limitations:**

* Daasity's default request is every 24 hours.
  * To opt in for real-time or hourly requests, please reach out to <Support@Daasity.com>
* Amazon data is updated daily.
  {% endhint %}

### **FBA Inbound Performance Report**

* This report provides data on detailed, shipment-level information about issues Amazon encountered with your FBA shipments at the fulfillment center. You can use this information to see which items in your shipments have had problems.
* Endpoint: [FBA Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#fulfillment-by-amazon-fba-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_FBA_FULFILLMENT_INBOUND_NONCOMPLIANCE_DATA`]

{% hint style="info" %}
**Limitations:**

* Can only be extracted every 24 hours.
* Amazon data is updated daily.
  {% endhint %}

### **FBA Stranded Inventory Report**

* This report provides detailed information on the units in your inventory that are in a stranded status.
* Endpoint: [FBA Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#fulfillment-by-amazon-fba-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_STRANDED_INVENTORY_UI_DATA`]

{% hint style="info" %}
**Limitations:**

* Daasity's default request is every 24 hours.
  * To opt in for real-time or hourly requests, please reach out to <Support@Daasity.com>
* Amazon data is updated daily.
  {% endhint %}

### **FBA Bulk Fix Stranded Inventory Report**

* This report provides a list of all the stranded inventory in the Amazon Fulfillment Network (AFN).
* Endpoint: [FBA Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#fulfillment-by-amazon-fba-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_STRANDED_INVENTORY_LOADER_DATA`]

{% hint style="info" %}
**Limitations:**

* Daasity's default request is every 24 hours.
  * To opt in for real-time or hourly requests, please reach out to <Support@Daasity.com>
* Amazon data is updated daily.
  {% endhint %}

### **FBA Manage Excess Inventory Report**

* This report provides a list of all the excess inventory and recommended actions for listings in the Amazon Fulfillment Network (AFN).
* Endpoint: [FBA Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#fulfillment-by-amazon-fba-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_EXCESS_INVENTORY_DATA`]

{% hint style="info" %}
**Limitations:**

* Daasity's default request is every 24 hours.
  * To opt in for real-time or hourly requests, please reach out to <Support@Daasity.com>
* Amazon data is updated daily.
  {% endhint %}

### **FBA Storage Fees Report**

* This report provides data on the estimated monthly inventory storage fees for each ASIN stored in the Amazon fulfillment centers.
* Endpoint: [FBA Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#fulfillment-by-amazon-fba-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_FBA_STORAGE_FEE_CHARGES_DATA`]

{% hint style="info" %}
**Limitations:**

* Can only be extracted every 24 hours.
* Amazon data is updated daily.
  {% endhint %}

### **FBA Manage Inventory Health Report**

* This report provides data to help you manage your inventory. It gives you a consolidated view of your inventory metrics across sales, shipment statuses, fees, and aged and excess units to help you identify and take action on your overstocked inventory.
* Endpoint: [FBA Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#fulfillment-by-amazon-fba-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_FBA_INVENTORY_PLANNING_DATA`]

{% hint style="info" %}
**Limitations:**

* Can only be extracted every 24 hours.
* Amazon data is updated daily.
  {% endhint %}


# FBA Removals Reports

This article is about how Daasity replicates data from the FBA Removals section of the Amazon Selling Partner Reports API, limitations to the data we can extract and where the data is stored.

## Integration Overview

The Daasity Amazon Seller Central integrations utilize the Selling Partner API (SP-API) which is a REST-based API that helps Amazon selling partners programmatically access their data on orders, shipments, payments, and more.

## Integration Availability

This integration is available for:

* Enterprise

## API Endpoints

The Daasity Amazon Seller Central - Reports API - FBA Removals extractor is built based on this [Amazon Seller Central API documentation](https://developer-docs.amazon.com/sp-api/docs/what-is-the-selling-partner-api). The following endpoints are used by Daasity to replicate data from Amazon Seller Central:

* [Reports](https://developer-docs.amazon.com/sp-api/docs/reports-api-v2021-06-30-reference)
* [Fulfillment by Amazon (FBA) Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#fulfillment-by-amazon-fba-reports)

## Entity Relationship Diagram (ERD)

[Click here to view the Daasity Amazon Seller Central - Reports API - FBA Removals integration](https://lucid.app/documents/embedded/13e9cfff-7109-4283-bd53-40d792040754) illustrating the different tables and keys to join across tables.

## Amazon Seller Central Schema

The Reports API will generate files in one of three formats (CSV, XML, and JSON).  A report might vary slightly for each Seller Central account and thus Daasity will dynamically create the table based on the file extracted from Amazon. Thus each table will be a direct mapping from the file output to the table with no transformation.

* [FBA Recommended Removal Report](#fba-recommended-removal-report)

### **FBA Recommended Removal Report**

* This report provides data on which units in Amazon fulfillment centers may be subject to Long Term Storage Fees (LTSF) at the next Inventory Cleanup and helps create a removal order to have those units returned to you or disposed of. This report will automatically calculate on an ASIN-by-ASIN basis the quantity you would need to remove (assuming no further sales of your inventory) to avoid the LTSF.
* Endpoint: [FBA Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#fulfillment-by-amazon-fba-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_FBA_RECOMMENDED_REMOVAL_DATA`]

{% hint style="info" %}
**Limitations:**

* Daasity extracts data every 24 hours.
* Amazon updates data daily
  {% endhint %}


# Inventory Reports

This page is about how Daasity replicates data from the Inventory section of the Amazon Selling Partner Reports API, limitations to the data we can extract and where the data is stored.

## Integration Overview

The Daasity Amazon Seller Central integrations utilize the Selling Partner API (SP-API) which is a REST-based API that helps Amazon selling partners programmatically access their data on orders, shipments, payments, and more.

## Integration Availability

This integration is available for:

* Enterprise

## API Endpoints

The Daasity Amazon Seller Central - Reports API - Inventory extractor is built based on this [Amazon Seller Central API documentation](https://developer-docs.amazon.com/sp-api/docs/what-is-the-selling-partner-api). The following endpoints are used by Daasity to replicate data from Amazon Seller Central:

* [Reports](https://developer-docs.amazon.com/sp-api/docs/reports-api-v2021-06-30-reference)
* [Inventory Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#inventory-reports)

## Entity Relationship Diagram (ERD)

[Click here to view the ERD for the Daasity Amazon Seller Central - Reports API - Inventory integration](https://lucid.app/documents/embedded/95af43b8-02b7-4878-aab2-9135c7f04b52) illustrating the different tables and keys to join across tables.

## Amazon Seller Central Schema

The Reports API will generate files in one of three formats (CSV, XML, and JSON).  A report might vary slightly for each Seller Central account and thus Daasity will dynamically create the table based on the file extracted from Amazon. Thus each table will be a direct mapping from the file output to the table with no transformation.

* [All Listings Report](#all-listings-report)

### **All Listings Report**

* This report provides data on all the products you have listed on Amazon and includes details about each listing, including condition, item-note, and BMVD (Book, Music, Video and DVD) shipping setting
* Endpoint: [Inventory Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#inventory-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_MERCHANT_LISTINGS_ALL_DATA`]

{% hint style="info" %}
**Limitations:**

* Can only be extracted every 24 hours.
* Amazon updates data daily.
* Amazon puts restrictions on pulling historical reports, which can take a prolonged period of time.
  * To learn more about requesting historical reports, reach out to <Support@Daasity.com>
    {% endhint %}


# Order Tracking Reports

This page is about how Daasity replicates data from the Order Tracking section of the Amazon Selling Partner Reports API, limitations to the data we can extract and where the data is stored.

## Integration Overview

The Daasity Amazon Seller Central integrations utilize the Selling Partner API (SP-API) which is a REST-based API that helps Amazon selling partners programmatically access their data on orders, shipments, payments, and more.

## Integration Availability

This integration is available for:

* Enterprise
* Growth

{% hint style="info" %}
For Growth merchants, please note that only \[`Flat File Orders by Last Update Report`] is used.
{% endhint %}

## API Endpoints

The Daasity Amazon Seller Central - Reports API - Order Tracking extractor is built based on this [Amazon Seller Central API documentation](https://developer-docs.amazon.com/sp-api/docs/what-is-the-selling-partner-api).  The following endpoints are used by Daasity to replicate data from Amazon Seller Central:

* [Reports](https://developer-docs.amazon.com/sp-api/docs/reports-api-v2021-06-30-reference)
* [Order Tracking Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#order-tracking-reports)

## Entity Relationship Diagram (ERD)

[Click here to view the ERD for the Daasity Amazon Seller Central - Reports API - Order Tracking integration](https://lucid.app/documents/embedded/cff09abb-b185-4d22-9683-f9bce7692a5d) illustrating the different tables and keys to join across tables.

## Amazon Seller Central Schema

The Reports API will generate files in one of three formats (CSV, XML, and JSON).  A report might vary slightly for each Seller Central account and thus Daasity will dynamically create the table based on the file extracted from Amazon. Thus each table will be a direct mapping from the file output to the table with no transformation.

* [Flat File Orders by Last Update Report](#flat-file-orders-by-last-update-report)
* [Flat File Orders by Order Date Report](#flat-file-orders-by-order-date-report)

### **Flat File Orders by Last Update Report**

* This report provides order and item information for both FBA and seller-fulfilled orders including order status, fulfillment and sales channel information, and item details.  All recent orders including those that have not been shipped are in this report.  The report does not include customer-identifying information.
* Endpoint: [Order Tracking Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#order-tracking-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_FLAT_FILE_ALL_ORDERS_DATA_BY_LAST_UPDATE_GENERAL`]

{% hint style="info" %}
**TIP:** Daasity recommends using this report as it will retrieve orders based on the last time an order was updated.
{% endhint %}

{% hint style="info" %}
**Limitations:**

* Daasity's defaults to extract daily.
  * To opt in for hourly extraction, please reach out to <Support@Daasity.com>
* Amazon updates data daily and data pulled is within the past 72 hours.
  {% endhint %}

### **Flat File Orders by Order Date Report**

* This report provides order and item information for both FBA and seller-fulfilled orders including order status, fulfillment and sales channel information, and item details.  All recent orders including those that have not been shipped are in this report.  The report does not include customer-identifying information.
* Endpoint: [Order Tracking Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#order-tracking-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_FLAT_FILE_ALL_ORDERS_DATA_BY_ORDER_DATE_GENERAL`]

{% hint style="info" %}
**.Limitations:**

* Daasity's defaults to extract daily.
  * To opt in for hourly extraction, please reach out to <Support@Daasity.com>
* Amazon updates data daily and data pulled is within the past 72 hours
  {% endhint %}


# Performance Reports

This page is about how Daasity replicates data from the Performance Reports section of the Amazon Selling Partner Reports API, limitations to the data we can extract and where the data is stored.

## Integration Overview

The Daasity Amazon Seller Central integrations utilize the Selling Partner API (SP-API) which is a REST-based API that helps Amazon selling partners programmatically access their data on orders, shipments, payments, and more.

## Integration Availability

This integration is available for:

* Enterprise

## API Endpoints

The Daasity Amazon Seller Central - Reports API - Performance Reports extractor is built based on this [Amazon Seller Central API documentation](https://developer-docs.amazon.com/sp-api/docs/what-is-the-selling-partner-api). The following endpoints are used by Daasity to replicate data from Amazon Seller Central:

* [Reports](https://developer-docs.amazon.com/sp-api/docs/reports-api-v2021-06-30-reference)
* [Performance Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#performance-reports)

## Entity Relationship Diagram (ERD)

[Click here to view the ERD for the Daasity Amazon Seller Central - Reports API - Performance Reports integration](https://lucid.app/documents/embedded/6b3a5673-2ba8-4878-a2f2-03d6a6a0648a) illustrating the different tables and keys to join across tables.

## Amazon Seller Central Schema

The Reports API will generate files in one of three formats (CSV, XML, and JSON). A report might vary slightly for each Seller Central account and thus Daasity will dynamically create the table based on the file extracted from Amazon. Thus each table will be a direct mapping from the file output to the table with no transformation.

* [Flat File Feedback Report](#flat-file-feedback-report)
* [XML Customer Metrics Report](#xml-customer-metrics-report)
* [Seller Performance Report](#seller-performance-report)
* [Promotions Performance Report](#promotions-performance-report)
* [Coupons Performance Report](#coupons-performance-report)

### **Flat File Feedback Report**

* This report provides details on the negative and neutral feedback (one to three stars) from buyers who rated the seller's performance
* Endpoint: [Performance Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#performance-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_SELLER_FEEDBACK_DATA`]

{% hint style="info" %}
**Limitations:**

* Daasity's default request is every 24 hours.
  * To opt in for real-time or hourly requests, please reach out to <Support@Daasity.com>
* Amazon data is updated daily.
  {% endhint %}

### **XML Customer Metrics Report**

* This report provides a selection of the performance metrics data from the Seller Central dashboard including Customer Service, Fulfillment, Product Quality, etc.
* Endpoint: [Performance Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#performance-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_V1_SELLER_PERFORMANCE_REPORT`]

{% hint style="info" %}
**Limitations:**

* Daasity's default request is every 24 hours.
  * To opt in for real-time or hourly requests, please reach out to <Support@Daasity.com>
* Amazon data is updated daily.
  {% endhint %}

### **Seller Performance Report**

* This report provides the individual performance metrics data from the Account Health dashboard that is accessible via Performance -> Account Health in the Seller Central UI
* Endpoint: [Performance Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#performance-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_V2_SELLER_PERFORMANCE_REPORT`]

{% hint style="info" %}
**Limitations:**

* Daasity's default request is every 24 hours.
  * To opt in for real-time or hourly requests, please reach out to <Support@Daasity.com>
* Amazon data is updated daily.
  {% endhint %}

### **Promotions Performance Report**

* The report provides data on the sales from promotions, the types of discounts that were offered, and how many items were sold as a result of the promotions. Currently, three promotion types are supported for vendors (Best Deal, Lightning Deal, and Price Discount), and two promotion types are supported for sellers (Best Deal and Lightning Deal).
* Endpoint: [Performance Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#performance-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_PROMOTION_PERFORMANCE_REPORT`]

{% hint style="info" %}
**Limitations:**

* This feature can only be requested under the following Amazon conditions:
  * Seller has the Selling Partner Insights Selling Partner API role.
  * Vendors have the Brand Analytics Selling Partner API role and are registered in Amazon's Brand Registry.
* Daasity's default request is every 24 hours.
  * To opt in for real-time or hourly requests, please reach out to <Support@Daasity.com>
* Amazon data is updated daily.
  {% endhint %}

### **Coupons Performance Report**

* The report provides campaign-level details (total clips, redemptions) and coupon-level details (start/end date, clips, redemptions, and budget information).
* Endpoint: [Performance Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#performance-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_COUPON_PERFORMANCE_REPORT`]

{% hint style="info" %}
**Limitations:**

* This feature can only be requested for vendors with the Brand Analytics Selling Partner API role.
* Daasity's default request is every 24 hours.
  * To opt in for real-time or hourly requests, please reach out to <Support@Daasity.com>
* Amazon data is updated daily.
  {% endhint %}


# Returns Reports

This page is about how Daasity replicates data from the Returns section of the Amazon Selling Partner Reports API, limitations to the data we can extract and where the data is stored in the schema.

## Integration Overview

The Daasity Amazon Seller Central integrations utilize the Selling Partner API (SP-API) which is a REST-based API that helps Amazon selling partners programmatically access their data on orders, shipments, payments, and more.

## Integration Availability

This integration is available for:

* Enterprise

## API Endpoints

The Daasity Amazon Seller Central - Reports API - Returns extractor is built based on this [Amazon Seller Central API documentation](https://developer-docs.amazon.com/sp-api/docs/what-is-the-selling-partner-api).  The following endpoints are used by Daasity to replicate data from Amazon Seller Central:

* [Reports](https://developer-docs.amazon.com/sp-api/docs/reports-api-v2021-06-30-reference)
* [Returns Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#returns-reports)

## Entity Relationship Diagram (ERD)

[Click here to view the ERD for the Daasity Amazon Seller Central - Reports API - Returns integration](https://lucid.app/documents/embedded/e6b138b9-bb8b-423f-b68b-a8b9ea847c3a) illustrating the different tables and keys to join across tables.

## Amazon Seller Central Schema

The Reports API will generate files in one of three formats (CSV, XML, and JSON). A report might vary slightly for each Seller Central account and thus Daasity will dynamically create the table based on the file extracted from Amazon. Thus each table will be a direct mapping from the file output to the table with no transformation.

* This report provides detailed returns information, including return request date, RMA ID, label details, ASIN, and return reason code.
* [Flat File Returns Report by Return Date](#flat-file-returns-report-by-return-date)
* [XML Returns Report by Return Date](#xml-returns-report-by-return-date)
* [XML Prime Returns Report by Return Date](#xml-prime-returns-report-by-return-date)

### **Flat File Returns Report by Return Date**

* This report contains detailed Seller Fulfilled Prime returns information, including return request date, RMA ID, label details, ASIN, and return reason code.
* Endpoint: [Returns Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#returns-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_FLAT_FILE_RETURNS_DATA_BY_RETURN_DATE]`

{% hint style="info" %}
**Limitations:**

* Daasity's defaults to extract daily.
  * To opt in for hourly extraction, please reach out to <Support@Daasity.com>
* Amazon updates data daily.
  {% endhint %}

### **XML Returns Report by Return Date**

* This report contains detailed Seller Fulfilled Prime returns information, including return request date, RMA ID, label details, ASIN, and return reason code.
* Endpoint: [Returns Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#returns-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_XML_RETURNS_DATA_BY_RETURN_DATE`]

{% hint style="info" %}
**Limitations:**

* Daasity's defaults to extract daily.
  * To opt in for hourly extraction, please reach out to <Support@Daasity.com>
* Amazon updates data daily.
  {% endhint %}

### **XML Prime Returns Report by Return Date**

* Endpoint: [Returns Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#returns-reports)
* Update Method: UPSERT
* Table Name:\
  \[`AMAZON_SELLER_CENTRAL.GET_XML_MFN_PRIME_RETURNS_REPORT`]

{% hint style="info" %}
**Limitations:**

* Daasity's defaults to extract daily.
  * To opt in for hourly extraction, please reach out to <Support@Daasity.com>
* Amazon updates data daily.
  {% endhint %}


# Settlement Reports

This page is about how Daasity replicates data from the Settlement section of the Amazon Selling Partners Reports API, limitations to the data we can extract and where the data is stored in the schema

## Integration Overview

The Daasity Amazon Seller Central integrations utilize the Selling Partner API (SP-API) which is a REST-based API that helps Amazon selling partners programmatically access their data on orders, shipments, payments, and more.

## Integration Availability

This integration is available for:

* Enterprise
* Growth

## API Endpoints

The Daasity Amazon Seller Central - Reports API - Settlement extractor is built based on this [Amazon Seller Central API documentation](https://developer-docs.amazon.com/sp-api/docs/what-is-the-selling-partner-api). The following endpoints are used by Daasity to replicate data from Amazon Seller Central:

* [Reports](https://developer-docs.amazon.com/sp-api/docs/reports-api-v2021-06-30-use-case-guide)
* [Settlement Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#settlement-reports)

## Entity Relationship Diagram (ERD)

[Click here to view the ERD for the Daasity Amazon Seller Central Reports API - Settlement integration](https://lucid.app/documents/embedded/9b9b416d-c2d8-4d9e-8e91-3147ab654653) illustrating the different tables and keys to join across tables.

## Amazon Seller Central Schema

The Reports API will generate files in one of three formats (CSV, XML, and JSON). A report might vary slightly for each Seller Central account and thus Daasity will dynamically create the table based on the file extracted from Amazon. Thus each table will be a direct mapping from the file output to the table with no transformation.

* [Flat File V2 Settlement Report](#flat-file-v2-settlement-report)

### **Flat File V2 Settlement Report**

* This report provides detailed information on the sales and fees for each order resulting in your payout and account settlement.  For your seller account to be settled, it must have had activity during the settlement period and either a positive or zero account balance. When your account is settled, a report for the settlement period will be made available for download
* Endpoint: [Settlement Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#settlement-reports)
* Update Method: UPSERT
* Table Name:&#x20;

  \[`AMAZON_SELLER_CENTRAL.GET_V2_SETTLEMENT_REPORT_DATA_FLAT_FILE_V2`]

{% hint style="info" %}
**Limitations:**

* Cannot be requested - will be extracted by Daasity when Amazon makes the report available.
* Can only retrieve 90 days of historical data.
  {% endhint %}


# Seller Retail Analytics Reports

This page is about how Daasity replicates data from Seller Retail Analytics section of the Amazon Selling Partner Reports API, limitations to the data we can extract and where the data is stored.

## Integration Overview

The Daasity Amazon Seller Central integrations utilize the Selling Partner API (SP-API) which is a REST-based API that helps Amazon selling partners programmatically access their data on orders, shipments, payments, and more.

{% hint style="warning" %}
**1-day data delay**

If you are looking at your extracted data and see that there is no data from yesterday, this is expected. This is because there is a 1-day delay for Seller Retail Analytics data to be available for extraction. For example, data from 1/1/2023 would not be loaded until 1/3/2023.&#x20;
{% endhint %}

## Integration Availability

This integration is available for:

* Enterprise
* Growth

{% hint style="info" %}
For Growth merchants, please take note that only \[`Sales and Traffic Business Report`] and \[`Sales and Traffic SKU Report`] are used.
{% endhint %}

## API Endpoints

The Daasity Amazon Seller Central - Reports API - Seller Retail Analytics extractor is built based on this [Amazon Seller Central API documentation](https://developer-docs.amazon.com/sp-api/docs/what-is-the-selling-partner-api). The following endpoints are used by Daasity to replicate data from Amazon Seller Central:

* [Reports](https://developer-docs.amazon.com/sp-api/docs/reports-api-v2021-06-30-reference)
* [Seller Retail Analytics Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#seller-retail-analytics-reports)

## Entity Relationship Diagram (ERD)

[Click here to view the ERD for the Daasity Amazon Seller Central - Reports API - Seller Retail Analytics integration](https://lucid.app/documents/embedded/31b3406d-1276-4103-b5e7-6233aeb5314a) illustrating the different tables and keys to join across tables.

## Amazon Seller Central Schema

The Reports API will generate files in one of three formats (CSV, XML, and JSON). A report might vary slightly for each Seller Central account and thus Daasity will dynamically create the table based on the file extracted from Amazon. Thus each table will be a direct mapping from the file output to the table with no transformation.

* [Sales and Traffic Business Report](#sales-and-traffic-business-report)
* [Sales and Traffic Parent Report](#sales-and-traffic-parent-report)
* [Sales and Traffic SKU Report](#sales-and-traffic-sku-report)
* [Sales and Traffic Child Report](#sales-and-traffic-child-report)

### **Sales and Traffic Business Report**

* This report provides key sales performance metrics such as ordered product sales, revenue, units ordered, and claim amount, as well as overall traffic to your Amazon pages.
* Endpoint: [Seller Retail Analytics Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#seller-retail-analytics-reports)
* Update Method: UPSERT
* Table Name: \
  \[`AMAZON_SELLER_CENTRAL.GET_SALES_AND_TRAFFIC_REPORT`]

{% hint style="info" %}
**Limitations:**

* This feature can **only be requested if Brand Analytics is turned on**.
  * The Brand Analytics feature availability is determined by Amazon. Not sure? Reach out to <Support@Daasity.com>
* Data updates every 24 hours.
* Requesting historical data will take a long time.
  * Before making a request for a historical report, reach out to <Support@Daasity.com>
    {% endhint %}

### **Sales and Traffic Parent Report**

* This report provides key sales performance metrics such as ordered product sales, revenue, units ordered, as well as page traffic metrics such as page views and buy box percentage of the seller’s entire catalog of items aggregated by date and Parent ASIN.
* Endpoint: [Seller Retail Analytics Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#seller-retail-analytics-reports)
* Update Method: UPSERT
* Table Name: \
  \[`AMAZON_SELLER_CENTRAL.SALES_AND_TRAFFIC_PARENT_ASIN_REPORT`]

{% hint style="info" %}
**Limitations:**

* This feature can **only be requested if Brand Analytics is turned on**.
  * The Brand Analytics feature availability is determined by Amazon. Not sure? Reach out to <Support@Daasity.com>
* Data updates every 24 hours.
* Requesting historical data will take a long time.
  * Before making a request for a historical report, reach out to <Support@Daasity.com>
    {% endhint %}

### **Sales and Traffic SKU Report**

* This report provides key sales performance metrics such as ordered product sales, revenue, units ordered, as well as page traffic metrics such as page views and buy box percentage of the seller’s entire catalog of items aggregated by date and SKU.
* Endpoint: [Seller Retail Analytics Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#seller-retail-analytics-reports)
* Update Method: UPSERT
* Table Name: \
  \[`AMAZON_SELLER_CENTRAL.SALES_AND_TRAFFIC_SKU_REPORT`]

{% hint style="info" %}
**Limitations:**

* This feature can **only be requested if Brand Analytics is turned on**.
  * The Brand Analytics feature availability is determined by Amazon. Not sure? Reach out to <Support@Daasity.com>
* Data updates every 24 hours.
* Requesting historical data will take a long time.
  * Before making a request for a historical report, reach out to <Support@Daasity.com>
    {% endhint %}

### **Sales and Traffic Child Report**

* This report provides key sales performance metrics such as ordered product sales, revenue, units ordered, as well as page traffic metrics such as page views and buy box percentage of the seller’s entire catalog of items aggregated by date and Child ASIN.
* Endpoint: [Seller Retail Analytics Reports](https://developer-docs.amazon.com/sp-api/docs/report-type-values#seller-retail-analytics-reports)
* Update Method: UPSERT
* Table Name: \
  \[`AMAZON_SELLER_CENTRAL.SALES_AND_TRAFFIC_CHILD_ASIN_REPORT`]

{% hint style="info" %}
**Limitations:**

* This feature can **only be requested if Brand Analytics is turned on**.
  * The Brand Analytics feature availability is determined by Amazon. Not sure? Reach out to <Support@Daasity.com>
* Data updates every 24 hours.
* Requesting historical data will take a long time.
  * Before making a request for a historical report, reach out to <Support@Daasity.com>
    {% endhint %}


# Workflow Configuration Setup

This section provides information on how the Amazon Seller Central integration can be configured as part of a workflow to extract data


# Orders API

This page provides information on how the Orders API in the Amazon Seller Central integration can be configured as part of a workflow to extract data

## Extraction Replication Window

The Orders API will replicate data for the last 24 hours to the beginning of the prior day for all orders that have been updated in that window

## Extraction Frequency

{% hint style="success" %}
This integration automatically extracts data every hour
{% endhint %}

{% hint style="info" %}
We recommend this integration be set to extract **daily** as it will automatically be setup to extract data on an hourly basis
{% endhint %}




---

[Next Page](/llms-full.txt/1)

