Skip to content

Commit 3b4aaed

Browse files
authored
SAC-30267 - Taboola V2 (#1179)
* New V2 * Fixed the TOC * Fixed version switch * Updated version
1 parent 1af63fb commit 3b4aaed

7 files changed

Lines changed: 349 additions & 5 deletions

File tree

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
{
2+
"type": "object",
3+
"properties": {
4+
"id": {
5+
"type": [ "null", "integer"]
6+
},
7+
"advertiser_id": {
8+
"type": [ "null", "string"]
9+
},
10+
"name": {
11+
"type": [ "null", "string"]
12+
},
13+
"tracking_code": {
14+
"type": [ "null", "string"]
15+
},
16+
"cpc": {
17+
"type": [ "null", "number"]
18+
},
19+
"daily_cap": {
20+
"type": [ "null", "number"]
21+
},
22+
"spending_limit": {
23+
"type": [ "null", "number"]
24+
},
25+
"spending_limit_model": {
26+
"type": [ "null", "string"]
27+
},
28+
"country_targeting": {
29+
"type": [ "null", "object"],
30+
"properties": {
31+
"type": {
32+
"type": [ "null", "string"]
33+
},
34+
"value": {
35+
"type": "array",
36+
"items": {
37+
"type": [ "null", "string"]
38+
}
39+
}
40+
}
41+
},
42+
"platform_targeting": {
43+
"type": [ "null", "object"],
44+
"properties": {
45+
"type": {
46+
"type": [ "null", "string"]
47+
},
48+
"value": {
49+
"type": "array",
50+
"items": {
51+
"type": [ "null", "string"]
52+
}
53+
}
54+
}
55+
},
56+
"publisher_targeting": {
57+
"type": [ "null", "object"],
58+
"properties": {
59+
"type": {
60+
"type": [ "null", "string"]
61+
},
62+
"value": {
63+
"type": "array",
64+
"items": {
65+
"type": [ "null", "string"]
66+
}
67+
}
68+
}
69+
},
70+
"start_date": {
71+
"type": [ "null", "string"],
72+
"format": "date"
73+
},
74+
"end_date": {
75+
"type": [ "null", "string"],
76+
"format": "date"
77+
},
78+
"approval_state": {
79+
"type": [ "null", "string"]
80+
},
81+
"is_active": {
82+
"type": [ "null", "boolean"]
83+
},
84+
"spent": {
85+
"type": [ "null", "number"]
86+
},
87+
"status": {
88+
"type": [ "null", "string"]
89+
}
90+
}
91+
}
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
{
2+
"type": "object",
3+
"properties": {
4+
"id": {
5+
"type": ["null", "integer"]
6+
},
7+
"created_at": {
8+
"type": ["null", "string"],
9+
"format": "date-time"
10+
},
11+
"campaign_id": {
12+
"type": [ "null", "integer"]
13+
},
14+
"date": {
15+
"type": [ "null", "string"],
16+
"format": "date"
17+
},
18+
"impressions": {
19+
"type": [ "null", "integer"]
20+
},
21+
"campaign_name": {
22+
"type": [ "null", "string"]
23+
},
24+
"ctr": {
25+
"type": [ "null", "number"]
26+
},
27+
"clicks": {
28+
"type": [ "null", "integer"]
29+
},
30+
"cpc": {
31+
"type": [ "null", "number"]
32+
},
33+
"cpm": {
34+
"type": [ "null", "number"]
35+
},
36+
"cpa_conversion_rate": {
37+
"type": [ "null", "number"]
38+
},
39+
"cpa_actions_num": {
40+
"type": [ "null", "integer"]
41+
},
42+
"cpa": {
43+
"type": [ "null", "number"]
44+
},
45+
"spent": {
46+
"type": [ "null", "number"]
47+
},
48+
"conversions_value": {
49+
"type": [ "null", "number"]
50+
},
51+
"currency": {
52+
"type": [ "null", "string"]
53+
}
54+
},
55+
"additionalProperties": false
56+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
tap: taboola
2+
version: '1'
3+
keys:
4+
campaign_campaign_id:
5+
- table: campaign
6+
keys:
7+
- id
8+
- table: campaign_performance
9+
keys:
10+
- campaign_id
11+
tables:
12+
- table-name: campaign
13+
join:
14+
- table-name: campaign_performance
15+
keys:
16+
- key: id
17+
foreign-key: campaign_id
18+
- table-name: campaign_performance
19+
join:
20+
- table-name: campaign
21+
keys:
22+
- key: campaign_id
23+
foreign-key: id
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
tap: taboola
2+
version: '2'
3+
tap-repo-schemas: false
4+
tables:
5+
- name: campaign
6+
description: 'The `{{ table.name }}` table contains info about the campaigns in
7+
your Taboola account.
8+
9+
10+
#### Replication
11+
12+
13+
During every replication job, all campaigns in your Taboola account will be extracted,
14+
or "fully replicated." If you look in the [Extraction Logs]({{ link.replication.extraction-logs
15+
| prepend: site.baseurl }}) in the Stitch app, you''ll see lines like this:
16+
17+
18+
```
19+
20+
2017-10-25 13:46:52,254Z tap - INFO Synced 100 campaigns.
21+
22+
2017-10-25 13:46:52,255Z tap - INFO Done syncing campaigns.
23+
24+
```
25+
26+
27+
Roughly the same amount of campaigns should be extracted during every job, unless
28+
brand new campaigns are added between jobs.
29+
30+
31+
When Stitch loads the extracted records into your destination, however, only new
32+
and updated campaigns will be loaded. **This means that only new and updated campaign
33+
records will count towards your row count**.
34+
35+
36+
#### Deleted campaigns
37+
38+
39+
Currently, [the Singer tap](https://github.com/singer-io/tap-taboola){:target="new"}
40+
powering this integration has no way to account for campaigns that are hard-deleted
41+
in {{ integration.display_name }}. This means that if a campaign is deleted at
42+
the source, the record for that campaign will remain in the destination.
43+
44+
45+
#### NULL dates
46+
47+
48+
On occasion, {{ integration.display_name }}''s API will push `NULL` for `start_date`
49+
and `999-12-31` for `end_date`. [The Singer tap](https://github.com/singer-io/tap-taboola#gotchas){:target="new"}
50+
behind this integration will convert `NULL` dates to `999-12-31` for consistency.
51+
52+
'
53+
links:
54+
singer-schema: https://github.com/singer-io/tap-taboola/blob/master/tap_taboola/schemas/campaigns.json
55+
api-method: https://github.com/taboola/Backstage-API/blob/master/Backstage%20API%20-%20Campaigns.pdf
56+
table-details:
57+
replication-method: Full Table
58+
primary-key: id
59+
- name: campaign_performance
60+
description: 'The `{{ table.name }}` table contains performance data for the campaigns
61+
in your {{ integration.display_name }} account, broken down by day.
62+
63+
'
64+
links:
65+
singer-schema: https://github.com/singer-io/tap-taboola/blob/master/tap_taboola/schemas/campaign_performance.json
66+
api-method: https://github.com/taboola/Backstage-API/blob/master/Backstage%20API%20-%20Campaign%20Performance.pdf
67+
table-details:
68+
replication-method: Key-based Incremental
69+
primary-keys:
70+
- campaign_id
71+
- date
72+
replication-key: date

_data/taps/versions/taboola.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22
# TABOOLA VERSIONS #
33
# -------------------------- #
44

5-
latest-version: "1"
5+
latest-version: "2"
66

77
released-versions:
8+
- number: "2"
9+
date-released: "February 12, 2026"
810
- number: "1"
911
date-released: "April 25, 2017"
10-
# date-last-connection:
12+
deprecation-date: "February 12, 2026"
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
---
2+
title: Taboola (v1)
3+
permalink: /integrations/saas/taboola/v1
4+
keywords: taboola, taboola integration, schema, etl taboola, taboola etl, taboola schema
5+
summary: "Connection instructions and schema details for Stitch's Taboola integration."
6+
layout: singer
7+
input: false
8+
9+
key: "taboola-setup"
10+
11+
# -------------------------- #
12+
# Tap Details #
13+
# -------------------------- #
14+
15+
name: "taboola"
16+
display_name: "Taboola"
17+
18+
singer: true
19+
repo-url: https://github.com/singer-io/tap-taboola
20+
status-url: https://twitter.com/taboola?lang=en
21+
22+
this-version: "1"
23+
24+
api: |
25+
[{{ integration.display_name }} Backstage API](https://github.com/taboola/Backstage-API){:target="new"}
26+
27+
# -------------------------- #
28+
# Integration Details #
29+
# -------------------------- #
30+
31+
certified: false
32+
33+
historical: "1 year"
34+
frequency: "30 minutes"
35+
tier: "Standard"
36+
37+
api-type: "platform.taboola"
38+
39+
anchor-scheduling: true
40+
cron-scheduling: true
41+
42+
table-selection: false
43+
column-selection: false
44+
select-all: false
45+
select-all-reason: |
46+
As this integration doesn't support table or column selection, all available tables and columns are automatically replicated.
47+
48+
extraction-logs: true
49+
loading-reports: true
50+
51+
# -------------------------- #
52+
# Feature Summary #
53+
# -------------------------- #
54+
55+
feature-summary: |
56+
Stitch's {{ integration.display_name }} integration replicates data using the {{ integration.api | flatify | strip }}. Refer to the [Schema](#schema) section for a list of objects available for replication.
57+
58+
59+
# -------------------------- #
60+
# Setup Instructions #
61+
# -------------------------- #
62+
63+
requirements-list:
64+
- item: "**Access to the {{ integration.display_name }} API**."
65+
- item: |
66+
**The following API credentials:**
67+
68+
- Taboola Account ID
69+
- Client ID
70+
- Client Secret
71+
72+
requirements-info: "Reach out to your {{ integration.display_name }} Account Manager for assistance. Once you receive this information, you can continue with the setup."
73+
74+
setup-steps:
75+
- title: "Add {{ integration.display_name }} as a Stitch data source"
76+
anchor: "add-stitch-data-source"
77+
content: |
78+
{% include integrations/shared-setup/connection-setup.html %}
79+
4. In the **Username** field, enter your {{ integration.display_name }} username. This user must have access to the {{ integration.display_name }} API.
80+
5. In the **Password** field, enter your {{ integration.display_name }} password.
81+
6. In the **Account ID** field, enter your {{ integration.display_name }} account ID.
82+
7. In the **Client ID** field, enter your {{ integration.display_name }} client ID.
83+
8. In the **Client Secret** field, enter your {{ integration.display_name }} client secret.
84+
- title: "Define the historical replication start date"
85+
anchor: "define-historical-sync"
86+
content: |
87+
{% include integrations/saas/setup/historical-sync.html %}
88+
89+
- title: "Create a replication schedule"
90+
anchor: "define-rep-frequency"
91+
content: |
92+
{% include integrations/shared-setup/replication-frequency.html %}
93+
94+
---
95+
{% assign integration = page %}
96+
{% include misc/data-files.html %}

_saas-integrations/taboola/taboola-latest.md renamed to _saas-integrations/taboola/v2/taboola-latest.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
---
2-
title: Taboola (v1)
2+
title: Taboola (v2)
33
permalink: /integrations/saas/taboola
44
keywords: taboola, taboola integration, schema, etl taboola, taboola etl, taboola schema
55
summary: "Connection instructions and schema details for Stitch's Taboola integration."
66
layout: singer
7+
#input: false
78

89
key: "taboola-setup"
910

@@ -18,7 +19,7 @@ singer: true
1819
repo-url: https://github.com/singer-io/tap-taboola
1920
status-url: https://twitter.com/taboola?lang=en
2021

21-
this-version: "1"
22+
this-version: "2"
2223

2324
api: |
2425
[{{ integration.display_name }} Backstage API](https://github.com/taboola/Backstage-API){:target="new"}
@@ -89,7 +90,10 @@ setup-steps:
8990
anchor: "define-rep-frequency"
9091
content: |
9192
{% include integrations/shared-setup/replication-frequency.html %}
92-
93+
- title: "Set objects to replicate"
94+
anchor: "setting-data-to-replicate"
95+
content: |
96+
{% include integrations/shared-setup/data-selection/object-selection.html %}
9397
---
9498
{% assign integration = page %}
9599
{% include misc/data-files.html %}

0 commit comments

Comments
 (0)