July 2020
New connectors
YouTube Analytics
YouTube Analytics contains a comprehensive set of YouTube Analytics data for a channel or content owner.
Read our YouTube Analytics connector documentation.
Schema changes
Braintree
We have added a new column, trial_duration, to replace the trail_duration column in the SUBSCRIPTION table. We will discontinue the replaced column after November 1, 2020. Be sure to update your queries with the new column name before we discontinue the old column.
Eloqua
We now store custom timestamp fields in the TIMESTAMP WITH TIME ZONE format (for example, 2020-06-28T16:02:25.987Z).
Fivetran Platform Connector
We have removed the service_version column from the CONNECTOR table.
Front
We have deprecated the custom_field_name and custom_field_job_title columns from the CONTACT table. We now sync the custom_fields from the Contacts API endpoint as custom_{field_name} columns.
Greenhouse
If you have a Greenhouse Expert plan, we add the following tables when you grant Fivetran access to the demographics endpoint:
DEMOGRAPHIC_QUESTION_SETDEMOGRAPHIC_QUESTIONSDEMOGRAPHIC_ANSWER_OPTION
We have also added custom fields to the JOB_OPENING table.
Lever
We have made some schema changes to support the new Opportunity endpoint. Once you connect Fivetran to the Opportunity endpoint, we will add new tables to replace the following tables:
OPPORTUNITYwill replaceCANDIDATECONTACT_EMAILwill replaceCANDIDATE_EMAILCONTACT_LINKwill replaceCANDIDATE_LINKCONTACT_PHONEwill replaceCANDIDATE_PHONEOPPORTUNITY_POSITIONwill replaceCANDIDATE_POSITIONOPPORTUNITY_SCHOOLwill replaceCANDIDATE_SCHOOLOPPORTUNITY_SOURCEwill replaceCANDIDATE_SOURCEOPPORTUNITY_STAGE_HISTORYwill replaceCANDIDATE_STAGE_HISTORYOPPORTUNITY_TAGwill replaceCANDIDATE_TAG
LinkedIn Ad Analytics
We have added the following fields to the AD_ANALYTICS_BY_CAMPAIGN and AD_ ANALYTICS_BY_CREATIVE tables:
comment_likesapproximate_unique_impressionsviral_external_website_conversionsviral_external_website_post_view_conversionsviral_external_website_post_click_conversions
Microsoft Advertising
We have added three new tables:
AD_EXTENSION_DETAIL_HOURLY_REPORTAD_EXTENSION_DETAIL_DAILY_REPORTSHARE_OF_VOICE_DAILY_REPORT
We have added a new column, title_part_3, to the AD_HISTORY table.
Pendo
We now sync parameter data in the PAGE_EVENT, FEATURE_EVENT, and EVENT tables. We sync each parameter to the destination in its own column and add the prefix param_ to the column name. For example, the decisionData parameter is synced to the destination as the param_decisionData column.
QuickBooks
We have added two new columns, vendor_credit_id and bill_id, to the DEPOSIT_LINE table.
Recharge
We have added the following columns to the CHARGE table:
last_charge_attempt_dateretry_datenumber_times_triederrorerror_typeshopify_variant_id_not_found
We have replaced the ANALYTICS_DATA table with the UTM_TAG table. We will discontinue the replaced table after November 1, 2020. Be sure to update your queries with the new table name before we remove the old table.
We have removed the _fivetran_deleted column from the SUBSCRIPTION table.
Shopify
We have deprecated the CHECKOUT and GIFT_CARD tables. We have also deprecated the following child tables of the CHECKOUT table:
APPLIED_DISCOUNTCHECKOUT_DISCOUNT_CODECHECKOUT_LINECHECKOUT_SHIPPING_LINECHECKOUT_TAX_LINECHECKOUT_URL_TAG
We have deprecated the featured field from the COLLECT table because the Shopify API no longer supports it. See Shopify's documentation for more information.
Snowplow
We have added two new fields, refr_domain_user_id and refr_dvce_tstamp, to the _EVENT table to facilitate Cross-Domain Tracking. These two fields store the _sp query parameter values.
Stripe
We have added a new column, is_deleted, to the PERSON table.
We have added a new table, SETUP_INTENT. Read Stripe's documentation for more information.
Improvements
Apple Search Ads
The Apple Search Ads connector now supports priority-first sync. Priority-first syncs fetch your most recent data first so that it's quickly ready for you to use. Apple Search Ads's priority-first syncs fetch the most recent thirty days' worth of data from the reporting tables.
To learn more, see our priority-first sync documentation.
BigQuery
For partitioned tables, we ignore the partition and scan the whole table in the following scenarios:
- If you have selected a column that is not a primary key column
- If you have created an ingestion partitioned table
For example, we ignore the partition if the column is _fivetran_synced or ingestion time partitioned and scan the whole table while executing merge or delete queries to ensure data integrity.
If there is no DATE or INSTANT column that is part of the primary key in your partitioned table, we scan the whole table in every sync in order to remove duplicate records.
We recommend you to select a partition column that is part of the primary key so we can scan only the corresponding partition.
We have added a task to your Fivetran dashboard that informs you that your API rate limit has exceeded, causing the syncs to fail. Contact BigQuery support to increase your quota limit.
Databricks
We now use our own Amazon S3 bucket as an intermediate storage for staging temporary data during a sync. Now, when setting up Databricks as your destination, you do not have to create a S3 bucket.
We will end support for clusters with Databricks Runtime 7.0 and below, on August 15, 2020. To prevent your integrations from failing or causing data loss, upgrade your Databricks Runtime to 7.1 before August 15, 2020.
Dropbox
We have improved the way we track which files we have already synced to make sure we only pull new or changed data from the source containers. Previously, we re-synced files that were created at the same time as the last observed cursor position. That ensured that we never missed any files that were created while we were syncing your data. That also meant that we sometimes synced the same files twice. Now, in addition to tracking the timestamp, we also track the names of the files we have already synced. We store up to 1,000 file names. We sync files created at the time of the last observed cursor position only if we don’t have the file in our list of synced files for that timestamp.
Freshdesk
We have stopped inferring the data types of custom fields in the TICKET table to improve data integrity. Previously, we used to downcast the STRING data type to other data types.
FTP
We have improved the way we track which files we have already synced to make sure we only pull new or changed data from the source containers. Previously, we re-synced files that were created at the same time as the last observed cursor position. That ensured that we never missed any files that were created while we were syncing your data. That also meant that we sometimes synced the same files twice. Now, in addition to tracking the timestamp, we also track the names of the files we have already synced. We store up to 1,000 file names. We sync files created at the time of the last observed cursor position only if we don’t have the file in our list of synced files for that timestamp.
Google Ad Manager
We have removed dimensions that are no longer supported in the Google Ad Manager reporting service. Read more about available dimensions in Google's Ad Manager API documentation.
Removed dimensions:
order_delivery_statusparent_ad_unit_idparent_ad_unit_nameplacement_statusvideo_break_typevideo_break_type_nameis_first_look_dealad_unit_status
We have upgraded our Google Ad Manager connector from version 201911 to 202005 of the Ad Manager API and handled deprecations and updates. Read more about the deprecations and changes in Google's Ad Manager API documentation.
New dimensions:
custom_spot_idcustom_spot_namenielsen_device_idnielsen_device_name
New columns:
ad_server_cpm_and_cpc_revenue_grossad_server_all_revenue_grossad_exchange_video_auto_playad_exchange_video_click_to_playad_exchange_video_startad_exchange_video_midpointad_exchange_video_completead_exchange_video_completion_ratead_exchange_video_collapsead_exchange_video_expandad_exchange_video_full_screenad_exchange_video_mutead_exchange_video_pausead_exchange_video_resumead_exchange_video_rewindad_exchange_video_skippedad_exchange_video_unmutead_exchange_video_vast2_error_countad_exchange_video_vast_error_100_countad_exchange_video_vast_error_101_countad_exchange_video_vast_error_102_countad_exchange_video_vast_error_200_countad_exchange_video_vast_error_201_countad_exchange_video_vast_error_202_countad_exchange_video_vast_error_203_countad_exchange_video_vast_error_300_countad_exchange_video_vast_error_301_countad_exchange_video_vast_error_302_countad_exchange_video_vast_error_303_countad_exchange_video_vast_error_400_countad_exchange_video_vast_error_401_countad_exchange_video_vast_error_402_countad_exchange_video_vast_error_403_countad_exchange_video_vast_error_405_countad_exchange_video_vast_error_500_countad_exchange_video_vast_error_501_countad_exchange_video_vast_error_502_countad_exchange_video_vast_error_503_countad_exchange_video_vast_error_600_countad_exchange_video_vast_error_601_countad_exchange_video_vast_error_602_countad_exchange_video_vast_error_603_countad_exchange_video_vast_error_604_countad_exchange_video_vast_error_900_countad_exchange_video_vast_error_901_countad_exchange_video_total_vast_error_countad_exchange_video_total_error_ratetotal_video_opportunitiestotal_video_capped_opportunitiesdp_ecpm
Google Cloud Storage
We have improved the way we track which files we have already synced to make sure we only pull new or changed data from the source containers. Previously, we re-synced files that were created at the same time as the last observed cursor position. That ensured that we never missed any files that were created while we were syncing your data. That also meant that we sometimes synced the same files twice. Now, in addition to tracking the timestamp, we also track the names of the files we have already synced. We store up to 1,000 file names. We sync files created at the time of the last observed cursor position only if we don’t have the file in our list of synced files for that timestamp.
Google Play
We have improved the way we track which files we have already synced to make sure we only pull new or changed data from the source containers. Previously, we re-synced files that were created at the same time as the last observed cursor position. That ensured that we never missed any files that were created while we were syncing your data. That also meant that we sometimes synced the same files twice. Now, in addition to tracking the timestamp, we also track the names of the files we have already synced. We store up to 1,000 file names. We sync files created at the time of the last observed cursor position only if we don’t have the file in our list of synced files for that timestamp.
Google Sheets
We added a button to the setup form that allows you to check that the Service Account has access to the selected spreadsheet. Learn more about setting up in our Google Sheets connector documentation.
Greenhouse
We now support syncing demographic data if you have a Greenhouse Expert plan. Fivetran requires access to the demographic endpoint to sync demographic data. To grant Fivetran access, create an API key with the demographic endpoint in Greenhouse, then enter the API key in your Fivetran connector setup form. Read Greenhouse's Harvest API Key Permissions documentation for more information.
HubSpot
We have added a warning to your Fivetran dashboard that asks you to increase your sync frequency if your COMPANY and COMPANY_PROPERTY_HISTORY tables have huge recurring updates. Previously, if these tables had more than 9900 updates, we initiated a complete re-sync to prevent data integrity issues. The re-sync caused high MAR (monthly active rows) consumption. You can prevent these re-syncs and avoid impact on your MAR by increasing your sync frequency.
Intercom
We now support Intercom REST API V2.0.
Jira
We have changed the styling of the connector name from "JIRA" to "Jira" in the Fivetran dashboard to match Atlassian's official styling.
Kustomer
We now support Kustomer applications that are hosted in the European Union (EU) region. When you create a new Kustomer connector, you can now designate EU as the region.
Lever
We now support Lever's Opportunity endpoint. The Opportunity endpoint replaces the deprecated Candidate endpoint. In addition to our existing access, grant Fivetran access to the Opportunity endpoint in your Lever dashboard, then add the regenerated API key to the connector setup form in your Fivetran dashboard. Fivetran automatically triggers a historical sync when we connect to this endpoint, so you do not need to manually re-sync your data.
LinkedIn Ad Analytics
The LinkedIn Ad Analytics connector now supports priority-first sync. Priority-first syncs fetch your most recent data first so that it's quickly ready for you to use. LinkedIn Ad Analytics priority-first syncs fetch the most recent thirty days' worth of data from the reporting tables.
To learn more, see our priority-first sync documentation.
Microsoft Advertising
The Microsoft Advertising connector now supports priority-first sync. Priority-first syncs fetch your most recent data first so that it's quickly ready for you to use. Microsoft Advertising's priority-first syncs fetch the most recent thirty days' worth of data from the reporting tables.
To learn more, see our priority-first sync documentation.
NetSuite SuiteAnalytics
We have changed the sync strategy for the incremental tables that have the _fivetran_index column as a primary key. We are gradually rolling out this change to all existing connections.
We have changed the sync strategy for the re-import tables that have the _fivetran_index column as a primary key. We are gradually rolling out this change to all existing connections.
We have also changed the sync strategy of the _fivetran_index column. Now, we use a monotonically increasing value for the _fivetran_index column that is specific to each primary key. Previously, we used a monotonically increasing value that was specific to the full table. We have implemented the modified sync strategy for the following tables:
BILLING_SCHEDULEITEM_LOCATION_MAPITEM_PRICESITEM_VENDOR_PRICINGPOSTING_ACCOUNT_ACTIVITYREVRECSCHEDULELINESTRANSACTION_SHIPPING_GROUPSTRANSACTION_TRACKING_NUMBERS
We are gradually rolling out this change to all existing connections.
We now use the DELETED_RECORDS table to capture deleted records for tables that have a single primary key and are updated incrementally. Previously, during the incremental update, we imported ranges, which caused high MAR (monthly active rows) consumption. We are gradually rolling out this change to all existing connections.
We have removed the Data Source field from the connector setup form because we only support NetSuite.com as a data source.
We have changed our sync strategy for tables that have a single primary key and are updated incrementally. We now use the data_last_modified column to retrieve updates and new records, and we re-import ranges only to capture deletes. We are gradually rolling out this change to all existing connections.
Oracle
We have fixed a bug with very high-precision NUMBER values from Oracle. Previously, we either truncated these values or did not sync them to the destination. Now, we sync these values to the destination without truncating them, but we change the column type to STRING to accommodate high-precision values. Re-sync any tables where you have previously synced high-precision NUMBER values to ensure data integrity.
Pinterest Ads
The Pinterest Ads connector now supports priority-first sync. Priority-first syncs fetch your most recent data first so that it's quickly ready for you to use. Pinterest Ads's priority-first syncs fetch the most recent thirty days' worth of data from the reporting tables.
To learn more, see our priority-first sync documentation.
PostgreSQL
We now support logical replication on Aurora PostgreSQL versions 10.6 or later.
SendGrid
We have updated our connector to support SendGrid accounts based on both New Marketing Campaigns and Legacy Marketing Campaigns. SendGrid released a new set of API endpoints under new marketing campaigns and will be deprecating their legacy marketing campaigns API.
We have integrated the new endpoints to support users using the new SendGrid platform. We now use the latest SendGrid API v3 to sync data from SendGrid.
As part of the update, we now classify the connector based on the SendGrid account type you are using. We have adopted custom sync strategies for each connector type:
Legacy: If you are using a legacy SendGrid account and have configured your connector with a legacy API key, we classify the connector as Legacy. We upsert the legacy tables in to the destination. See the schema information for details on the legacy tables. This schema applies to all legacy SendGrid connections created before July 20, 2020.
We recommend you to switch to a new marketing campaign account, as SendGrid will deprecate the legacy APIs in the near future. We won't be able to support connectors configured with legacy API keys.
Upgraded: If you were using a legacy SendGrid account and had configured your connector with a legacy API key, but have migrated your account to a new marketing campaign account, and also configured the connector with the new API key, we classify the connector as Upgraded. We upsert data from both new marketing tables and mapped legacy tables into the destination to support your existing queries on the legacy tables.
We recommend you to create new queries on the new tables to replace your existing queries on the legacy tables.
New: If you have a new SendGrid account, and have created a new connector using a new API key, we classify the connector as New. We upsert the new marketing tables into the destination. See the schema information for details on the new marketing tables. This schema applies to all new SendGrid connections created after July 20, 2020.
SFTP
We have improved the way we track which files we have already synced to make sure we only pull new or changed data from the source containers. Previously, we re-synced files that were created at the same time as the last observed cursor position. That ensured that we never missed any files that were created while we were syncing your data. That also meant that we sometimes synced the same files twice. Now, in addition to tracking the timestamp, we also track the names of the files we have already synced. We store up to 1,000 file names. We sync files created at the time of the last observed cursor position only if we don’t have the file in our list of synced files for that timestamp.
Snapchat Ads
The Snapchat Ads connector now supports priority-first sync. Priority-first syncs fetch your most recent data first so that it's quickly ready for you to use. Snapchat Ads's priority-first syncs fetch the most recent thirty days' worth of data from the reporting tables.
To learn more, see our priority-first sync documentation.
Snowflake
We have reduced the sync duration of append-only tables. During internal performance testing, we observed a reduction in sync time for destinations with large table sizes. We are gradually rolling out this change to all our existing destinations.
Snowplow
We now support Cross-Domain Tracking.
Stripe
We now capture deletes for the INVOICE, INVOICE_ITEM, and PERSON tables. Deletes from these tables are captured in the is_deleted column.
You can now select the PAYMENT_METHOD and CUSTOMER_BALANCE_TRANSACTION tables to sync from the Schema tab on your connector details page.
Taboola
The Taboola connector now supports priority-first sync. Priority-first syncs fetch your most recent data first so that it's quickly ready for you to use. Taboola's priority-first syncs fetch the most recent thirty days' worth of data from the reporting tables.
To learn more, see our priority-first sync documentation.
Twitter Ads
We can now sync the records that you have deleted from the funding_instruments, campaigns, line_items, and promoted_tweets entities.
Webhooks
You can now configure your Webhooks connector using the Fivetran REST API. This feature is in BETA and is available only for Standard and Enterprise accounts.
REST API Improvements
Create a Connection Public API Endpoint Extension
We have expanded the current public API endpoint Create a connection. Now, you can create a new connector in a paused state by specifying the paused parameter in payloads.
New Public API Endpoints
We have implemented new Destination Management API endpoints for our REST API. You can now leverage the new Retrieve Destination Details feature.
Snowplow
You can now configure your Snowplow connector using the Fivetran REST API. This feature is in BETA and is available only for Standard and Enterprise accounts.