
Configuring Shopee Ads as a Source
In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the Shopee Ads option from the list of connectors. Click Next and you’ll be prompted to add your access.1. Add account access
You’ll need to authorize Nekt to access your Shopee seller data. Click on the Shopee Authorization button and log in with your Shopee seller account. Grant the necessary permissions for the shop you want to extract data from. The following configurations are available:-
API URL: Select the appropriate API endpoint for your region:
https://partner.shopeemobile.com- Global (Southeast Asia)https://openplatform.shopee.com.br- Brazilhttps://openplatform.shopee.cn- China
- Start Date: The earliest date from which ad performance records will be synced. If not provided, all available historical data will be extracted.
2. Select streams
Choose which data streams you want to sync. For faster extractions, select only the streams that are relevant to your analysis. You can select entire groups of streams or pick specific ones.Tip: The stream can be found more easily by typing its name.Select the streams and click Next.
3. Configure data streams
Customize how you want your data to appear in your catalog. Select the desired layer where the data will be placed, a folder to organize it inside the layer, a name for each table (which will effectively contain the fetched data) and the type of sync.- Layer: choose between the existing layers on your catalog. This is where you will find your new extracted tables as the extraction runs successfully.
- Folder: a folder can be created inside the selected layer to group all tables being created from this new data source.
- Table name: we suggest a name, but feel free to customize it. You have the option to add a prefix to all tables at once and make this process faster!
- Sync Type: you can choose between INCREMENTAL and FULL_TABLE.
- Incremental: every time the extraction happens, we’ll get only the new data, which is good if you want to keep historical performance trends.
- Full table: every time the extraction happens, we’ll get the current state of the data, which is good for campaign configuration snapshots.
4. Configure data source
Describe your data source for easy identification within your organization, not exceeding 140 characters. To define your Trigger, consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times). Optionally, you can define some additional settings:- Configure Delta Log Retention and determine for how long we should store old states of this table as it gets updated. Read more about this resource here.
- Determine when to execute an Additional Full Sync. This will complement the incremental data extractions, ensuring that your data is completely synchronized with your source every once in a while.
5. Check your new source
You can view your new source on the Sources page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.Streams and Fields
Below you’ll find all available data streams from Shopee Ads and their corresponding fields:Ads Product Campaign List
Ads Product Campaign List
List of all product-level ad campaign IDs in your shop. This is a parent stream used to fetch campaign details and performance data.
| Field | Type | Description |
|---|---|---|
campaign_id | Integer | Unique campaign identifier |
ad_type | String | Type of campaign: auto or manual |
Ads Product Campaigns
Ads Product Campaigns
Detailed campaign configuration including bidding strategy, budget, placement, and keyword settings.
| Field | Type | Description |
|---|---|---|
campaign_id | Integer | Unique campaign identifier |
common_info | Object | Common campaign settings |
common_info.ad_type | String | Campaign type: auto, manual |
common_info.ad_name | String | Campaign name |
common_info.campaign_status | String | Status: ongoing, scheduled, ended, paused, deleted, closed |
common_info.bidding_method | String | Bidding method: auto, manual |
common_info.campaign_placement | String | Ad placement: search, discovery, all |
common_info.campaign_budget | Number | Campaign budget (0 = unlimited) |
common_info.campaign_duration | Object | Start and end time (Unix timestamps) |
common_info.item_id_list | Array | Product IDs under this campaign |
manual_bidding_info | Object | Manual bidding settings |
manual_bidding_info.enhanced_cpc | Boolean | Whether Enhanced CPC is enabled |
manual_bidding_info.selected_keywords | Array | Keywords with match type and bid price |
manual_bidding_info.discovery_ads_locations | Array | Discovery placement locations and bid prices |
auto_bidding_info | Object | Auto bidding settings |
auto_bidding_info.roas_target | Number | Target ROAS for auto bidding |
auto_product_ads_info | Array | Products in auto campaigns with name, status, and item_id |
Ads Daily Product Campaign Performance
Ads Daily Product Campaign Performance
Daily performance metrics per campaign, including impressions, clicks, spend, and attribution data with both broad and direct conversion tracking.
| Field | Type | Description |
|---|---|---|
campaign_id | Integer | Campaign identifier |
ad_type | String | Campaign type: auto, manual |
campaign_placement | String | Ad placement: search, discovery, all |
ad_name | String | Campaign name |
date | String | Performance date (YYYY-MM-DD, replication key) |
impression | Integer | Number of times the ad was shown |
clicks | Integer | Number of ad clicks |
ctr | Number | Click-through rate (%) |
expense | Number | Amount spent on the ad |
broad_gmv | Number | Revenue from any product within 7 days of ad click |
broad_order | Integer | Orders for any product within 7 days of ad click |
broad_order_amount | Integer | Total quantity purchased within 7 days of ad click |
broad_roi | Number | Broad ROAS (GMV / expense) |
broad_cir | Number | Broad ACOS (expense / GMV x 100%) |
cr | Number | Conversion rate (%) |
cpc | Number | Cost per conversion |
direct_order | Integer | Orders for the advertised product within 7 days |
direct_order_amount | Integer | Quantity of advertised product purchased within 7 days |
direct_gmv | Number | Revenue from the advertised product within 7 days |
direct_roi | Number | Direct ROAS (direct GMV / expense) |
direct_cir | Number | Direct ACOS (expense / direct GMV x 100%) |
direct_cr | Number | Direct conversion rate (%) |
cpdc | Number | Cost per direct conversion |
Use Cases for Data Analysis
This guide outlines valuable business intelligence use cases when consolidating Shopee Ads data, along with ready-to-use SQL queries that you can run on Explorer.1. Campaign Performance Overview
Analyze campaign-level ad performance to identify top-performing and underperforming campaigns. Business Value:- Identify which campaigns generate the highest ROAS
- Optimize ad spend allocation across campaigns
- Track advertising efficiency trends over time
SQL query
SQL query
- AWS
- GCP
Sample Result
Sample Result
| campaign_id | ad_name | campaign_status | ad_type | total_impressions | total_clicks | avg_ctr | total_spend | total_revenue | roas |
|---|---|---|---|---|---|---|---|---|---|
| 100001 | Summer Sale Promo | ongoing | auto | 245,000 | 8,450 | 3.45 | 1,250.00 | 8,750.00 | 7.00 |
| 100002 | Best Sellers Push | ongoing | manual | 189,000 | 6,230 | 3.30 | 980.00 | 5,880.00 | 6.00 |
| 100003 | New Arrivals | paused | auto | 67,000 | 1,890 | 2.82 | 450.00 | 1,575.00 | 3.50 |
2. Daily Ad Spend and Revenue Trend
Track daily advertising spend versus revenue to monitor campaign efficiency over time. Business Value:- Monitor daily ROAS trends
- Detect sudden drops in ad performance
- Plan budget adjustments based on historical patterns
SQL query
SQL query
- AWS
- GCP
Sample Result
Sample Result
| date | total_impressions | total_clicks | total_spend | total_revenue | daily_roas | total_orders |
|---|---|---|---|---|---|---|
| 2025-04-19 | 15,230 | 523 | 85.50 | 512.00 | 5.99 | 18 |
| 2025-04-18 | 14,890 | 498 | 79.20 | 475.00 | 6.00 | 15 |
| 2025-04-17 | 16,100 | 567 | 92.30 | 645.00 | 6.99 | 22 |
Implementation Notes
Regional API Endpoints
Regional API Endpoints
The connector supports multiple regional API endpoints:
- Global (SEA): Singapore, Malaysia, Thailand, Vietnam, Philippines, Indonesia, Taiwan
- Brazil: Specific endpoint for Brazilian marketplace
- China: Mainland China operations
Incremental Sync
Incremental Sync
The connector supports incremental sync for daily performance data:
- Ads Daily Product Campaign Performance: Uses
dateas the replication key
Authentication and Token Management
Authentication and Token Management
This connector uses the same authentication mechanism as the Shopee connector:
- Access tokens are refreshed proactively 30 minutes before expiration
- Every API request is signed with HMAC-SHA256 using your Partner Key
- Refresh tokens are stored securely in the Meltano database
- Token expiration defaults to 4 hours if not specified by the API
Attribution Windows
Attribution Windows
Shopee Ads uses a 7-day attribution window for conversion metrics:
- Broad attribution: Counts orders for any product in your shop within 7 days of an ad click
- Direct attribution: Counts orders only for the specific advertised product within 7 days
Campaign ID Batching
Campaign ID Batching
The connector fetches campaign IDs first, then batches them (up to 50 per request) to retrieve campaign details and performance data. This approach minimizes API calls while respecting Shopee’s API rate limits.
Skills for agents
Download Shopee Ads skills file
Shopee Ads connector documentation as plain markdown, for use in AI agent contexts.