Synchronization Behaviors

Last updated on May 30, 2023

An Activation fetches all the new and changed data from your data warehouse. How that data is loaded to the Target object is decided by the synchronization (sync) behavior you specify. The sync behavior depends upon the Target and is independent of the Warehouse from which the data is being synchronized.

You can select the sync behavior in the Field Mapping page, which is the last step of creating your Activation. Only the behaviors applicable to a particular Target object are enabled and available for selection. Read the respective Target documentation’s Data Replication section to know the supported behaviors for it.

The following table lists the sync behaviors that Activate supports:

Synchronization Behavior Description
Insert New and Update Existing Records (Upsert) New records are added and existing records are identified based on the selected unique or matching identifier and updated.
Update Existing Records (Update) Existing records are identified based on the selected unique or matching identifier and are updated.
Add New Records (Insert) The new records are added; however, no existing records are updated.
Delete Existing Records (Delete) Existing records are identified based on the selected unique identifier and are deleted.
Archive Existing Records (Archive) Existing records are identified based on the selected unique identifier and are archived.
Attach Tag to Records (Attach) Existing records are identified based on the selected unique identifier and a tag attached.

This sync behavior applies only to Intercom Tags.
Detach Tag(s) from Records (Detach) Existing records are identified based on the selected unique identifier and tags are detached.

This sync behavior applies only to Intercom Tags.
Full Sync All data in the selected Target object is refreshed in each Activation run.

This sync behavior applies only to Google Sheets.
Append Only New records are appended after the last occupied row in the selected worksheet in each Activation run.

This sync behavior applies only to Google Sheets.

Read through the following sections to understand these behaviors in more detail.


Insert New and Update Existing Records

In this synchronization behavior, new records received from the data warehouse are inserted at the end, and any existing records that have changed are updated.

For example,

Insert and Update


Update Existing Records

In this synchronization behavior, the updated records from the data warehouse are synchronized with the Target. Any new records found in the data warehouse are not added to the Target and are marked as Failed.

For example,

Update existing rows


Add New Records

In this synchronization behavior, new records from the data warehouse are inserted and synchronized with the Target. Selecting this option does not synchronize the existing records that are updated in the data warehouse and are marked as Failed.

For example,

Add new rows


Delete Existing Records

In this synchronization behavior, existing records in the Target object are deleted based on the selected unique identifier. The corresponding records in the data warehouse remain unaffected. In subsequent Activation runs, the deleted objects cannot be synchronized with the Target and are marked as Failed.

For example,

Delete Records


Archive Existing Records

In this synchronization behavior, existing records in the Target object are archived based on the selected unique identifier. The corresponding records in the data warehouse remain unaffected. In subsequent Activation runs, the archived records cannot be synchronized with the Target, and are marked as Failed.

For example,

Archive Records


Attach Tag to Records

In this synchronization behavior, records received from the data warehouse are matched with records in the Target object based on the selected unique identifier. An existing or new tag is then attached to all the matched records in the Target object. The corresponding records in the data warehouse remain unaffected.

For example,

Attach Tag


Detach Tag(s) from Records

In this synchronization behavior, records received from the data warehouse are matched with records in the Target object based on the selected unique identifier. The specified tags are then detached from the matched records. However, only those tags that are found on the matched object records are detached. If any of the tags fail to detach from some of the matched object records, those records are marked as FAILED. The tag names that failed to detach are displayed along with the failure reason in the Sync History page. The corresponding records in the data warehouse remain unaffected.

For example,

Detach Tags


Full Sync

In this synchronization behavior, all the records received from the data warehouse are written to the Target object in each Activation run. Currently, this synchronization behavior applies only to the Google Sheets Target.

If a cell range is specified for the Google Sheets worksheet, say B2:D20, then the data is written only within that range; else, it is written to the entire worksheet, starting from cell A1. If the specified range has no rows available, new records are not written to the worksheet and are marked as FAILED. Read Activation Run Statuses.

For example,

Full Sync


Append Only

This synchronization behavior applies only to Google Sheets. In this behavior, new records received from the data warehouse are appended after the last row that contains data. If a range is specified, say B2:D20, data is written only within that range. New records that cannot be written to the worksheet because the specified range has no available rows are marked as FAILED. If no new records are received, the Activation run is SHELVED. Read Activation Run Statuses.

For example,

Append Only


Limitations

  • Activate does not allow you to change the synchronization mode or behavior once an Activation is created.

    Examples:

    • Suppose you create an Activation in the Insert mode to synchronize data from your Warehouse with Intercom’s contact object; the object’s email field is the unique identifier. Now, suppose your business requirement changes and you need to update the contact object based on the external_id. In that case, you need to change the synchronization mode to update existing records. To achieve this, you must PAUSE the existing Activation, and create a new Activation but in the Update mode.
    • Suppose you create an Activation in the Upsert mode to synchronize data from your Warehouse with Intercom’s contact object; the object’s id field is the unique identifier. Now, suppose the number of records in the contact object exceeds the allowed limit of records. In that case, you may want to change the synchronization mode to only update existing records. To achieve this, you must PAUSE the existing Activation, and create a new Activation with the same unique identifier but in the Update mode.



Revision History

Refer to the following table for the list of key updates made to this page:

Date Release Description of Change
Aug-10-2022 NA - Updated the links in the sync behaviors table in the Overview section.
- Modified the content in the Full Sync section to make it applicable for all Targets.
Feb-21-2022 1.82 Added sections, Full Sync and Append Only.
Jan-24-2022 1.80 - Added sections, Attach Tag to Records and Detach Tag(s) from Records.
- Updated the page overview to organize the content in a tabular form.
Dec-20-2021 1.78 Moved section, View Failed Records to a new page.
Nov-22-2021 1.76 - Added sections, Delete Existing Records and Archive Existing Records.
- Updated the page overview to state the two new synchronization modes.
Jul-12-2021 1.67 New document.

Tell us what went wrong