Product ConceptsLast Updated: 2021-05-19
Welcome to the Grouparoo Dictionary! This is the collection of terms we use throughout the Grouparoo application to help you sync customer data between your source(s) of truth and business applications.
- Application Database
- Batch Generation
- Calculated Group
- Columnar Source
- High Watermark
- Manual Group
- Profile Property
- Query Source
- Sync Mode
- Table Source
The application database, sometimes referred to as the Grouparoo database, is the database created and used by the Grouparoo application. This is not to be confused with any database source that in which you store customer data.
Some versions of the
generate command support creating multiple config files from a single command. This is what we call Batch Generation.
Calculated Groups are a type of Group that are always kept up to date for you by Grouparoo. As new Profiles are created, or the Profile Properties of existing Profiles are changed, Group membership will automatically be adjusted.
A Columnar Source is a specific type of Source that imports data from a column-based mechanism, like a database. Sources of this type share most of their behavior in common.
Destinations are where you want Grouparoo Profiles and Groups to be sent. Often Destinations are customer marketing tools such as email marketing or push notification services, though databases and data warehouses can also function at Destinations.
When you set up a Destination in Grouparoo, you will choose which Groups as well as which Profile Properties you will send to each Destination. You will have control and visibility over what data gets sent to each Destination.
Grouparoo will keep the Profile and Group data in your Destinations up-to-date in real time.
Filters are a series of rules used to filter data into some desired subset.
A Generator is an engine that builds config files for you, based on some input. Generators are accessed via the CLI's
generate command. Generators use templates from Plugins to build the appropriate configuration files for you.
You can learn more about Generators by reading through the Code Config docs.
Groups are a collection of Profiles that you can define and filter. These filters (or rules) are built to be easy-to-understand by non-technical users.
Let's say we wanted to make a Group of high-value customers who recently abandoned the checkout process. Here is an example of the rules to define this group:
[Total Customer Value] [is greater than] [$50]
[Abandoned Cart] [in the last] [3 days]
With these rules, you have a Group consisting of every user who has purchased more than $50 and recently abandoned their cart. You can then synchronize that group in real-time to all of your Destinations to then communicate with them.
A High Watermark is a value used for comparison during Runs that are scheduled. Grouparoo will only import items where the high watermark column is greater than the largest previously imported high watermark value. For example, let's say you use
updated_at as your high watermark. Grouparoo will run an import and record the highest value from that column (presumably from the most recently updated record). The next time the import runs, Grouparoo will only consider records where
updated_at is greater than the previous high watermark value. And it doesn't have to be a date, it just has to be comparable. Another example would be a numeric field, like
version, in which the value is incremented when changes are made to the record in the Source database.
Manual Groups are a type of Group that only change when you add or remove Profiles.
When importing data from a Source, Grouparoo needs to know how to relate the data its importing to the Profiles already in Grouparoo. This is what we call a Mapping. It operates like a foreign key in a database.
Consider that you have a Property called
emailAddress, which is a unique field in that Source. You could map
emailAddress from your source to
Every Source needs a Mapping, as Grouparoo must know how to associate imported information.
The core Grouparoo application is the engine that drives syncing data from Sources to Destinations. The application relies on plugins to provide you with only the functionality you require to sync data between your preferred services.
Profiles represent individual people. For your specific company or organization, that may mean:
- Visitors to your site or app
Profile Properties are data associated with a profile. You can define Profile Properties based on data that exists in your data Sources.
Profile Properties are given a specific type, letting us know if they are a
string. Having a type helps Grouparoo know how to display this data and send it to Destinations.
Profile Properties can also be Unique or Not Unique. Defining Uniqueness is needed in order to create and merge Profiles from various sources without creating duplicate Profiles.
Common examples of Unique Profile Properties are:
Common examples of Not Unique Profile Properties are:
Date of Last Purchase
Properties define how a Profile Property gets pulled from a Source. Every Source might be structured in slightly different ways, so Grouparoo plugins make it easy for you to define Properties.
For example, you might define a Property called
first_name which you are pulling from your product database via the
A Query Source is an implementation of a Columnar Source that enables you to write custom queries to extract information from your database. This is a more flexible version when compared with a Table Source.
Sources are the tools that Grouparoo will connect with to pull in customer data. A Source can be anything that contains customer data such as data warehouses, databases, and CRMs.
When creating a Grouparoo Destination, you will be asked to choose a Sync Mode. A Sync Mode tells the Grouparoo application how to create and delete Profiles on this destination. The types of Sync Modes are:
- Sync: Add, update and remove profiles from the destination as needed.
- Additive: Add new profiles and update those that already exist in the destination, but never remove anyone.
- Enrich: Update profiles that already exist in the destination, enriching them with additional data and group membership information. No profiles are added or removed.
A Query Source is an implementation of a Columnar Source that makes it easy to import data from a database by using aggregation methods to extract data from a column in your database. This is a more rigid version when compared with a Query Source, but often enables you to move faster when you either want to import data directly or perform minor operations or transformations of that data.