Create and update Collection Documents
Sync your models profiles and attributes into a Firestore collection document to enable real-time personalization and rapid data retrieval in your apps and websites.
Overview
This destination service allows DinMo to insert new documents or update existing ones in your Firestore collections based on your DinMo profiles or segments.
To use this service, follow these three steps:
Create a Firestore destination. Follow our step-by-step guide to establish this connection.
Create your DinMo user segment or data model representing the data you want to sync to Firestore.
Activate your segment or model with the Firestore destination to start synchronization.
Every time the activation runs:
DinMo performs an upsert operation:
Insertion: If a Firestore document matching the provided Document ID does not exist, DinMo will create it using the mapped attributes and document id value.
Update: If a document exists, DinMo updates only the mapped attribute values.
Attributes that exist will have their values updated.
Attributes not present in the document will be created upon the first synchronization and regularly updated afterward.
DinMo will not delete existing documents even if the profile no longer exists in the model or segment. It will simply stop updating these documents.
Destination Setup
Before beginning data synchronization, set up your Firestore destination:
Go to destinations > Add a destination.
Choose your Firestore Platform.
Click on Create and update Collection Documents option.
Give it a name and save the destination.
Activation Configuration
Once the Firestore destination is configured, create an activation to begin syncing your data:
Choose your attribute write mode:
Merge: will only update the provided fields in the fields mapping
Overwrite: will replace the entire document with the provided fields, meaning that existing fields could be deleted
Specify the Firestore collection name to store your synchronized data.
Optionally, add a "Last a updated at" timestamp or a "Time to live" to each document:
Last updated at: DinMo will add this field to each document of the collection. The value will be the timestamp of the last update for this document.
Time to live: DinMo will add the "Time to live" value to this field in each document. If you want to automatically delete expired documents, this needs to be the same value as the TTL policy set on your firestore database.

Sync mode
Sync modes determine how data is synchronized between your data source and your Firestore. They control whether to insert new records, update existing ones, or both, and how to handle the synchronization process.
For the Firestore destination, here are the available options:
UPSERT
Performs a full load on the first run, then processes only new or changed records on subsequent runs using DinMo’s delta detection logic.
Standard production setup
Large datasets with limited changes
Frequent syncs requiring good performance
First run processes all records
Subsequent runs process only inserted or updated records
Connector inserts new records and updates existing ones
No deletions are handled
MIRROR (full then delta)
Performs a full load on the first run, then keeps the destination fully aligned with the source, including deletions, using delta detection.
Maintaining an exact replica of the source
Datasets with frequent updates and deletions
Use cases requiring strict data consistency
First run processes all records
Subsequent runs insert new records, update changed records, and delete records missing from the source
More processing than Upsert (delta) but ensures full synchronization
Field Mapping
During activation setup, you need to define the mapping between your data warehouse attributes and Firestore document fields.
Document ID Mapping: Choose the unique DinMo profile field used as the Firestore Document ID.
Collection Name: Enter the name of your Firestore collection.
Custom Attributes: Add custom attributes by mapping model fields and typing in custom names that will be used as document field names.

Scheduling
Define how frequently your data is updated in Firestore. With each scheduled update:
DinMo will perform an upsert operation, inserting new documents or updating existing ones.
Existing documents not found in the current DinMo data segment or model will remain in Firestore but will not be updated further.
Last updated