Product Concepts

Last Updated: 2021-04-05

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.

Table of Contents

App

An App in Grouparoo represents a integration, or a connection to some service. Every Source and Destination requires an App. See this page for a full list of available integrations.

Application Database

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.

Batch Generation

Some versions of the generate command support creating multiple config files from a single command. This is what we call Batch Generation.

Bootstrapped Property

A Bootstrapped Property is a special type of property. It acts as the primary key for your profiles and must be unique. This is most often some form of an ID value.

This idea is somewhat related to a Mapping. A Bootstrapped Property must exist before you can map data from a Source to a Profile in Grouparoo.

Calculated Group

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.

Columnar Source

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.

Destination

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.

See our Integrations page for an up-to-date list of our supported Destinations. We are always adding support for more Destinations. If you have a request, please let us know!

Event

Grouparoo supports Events through our various client-side libraries. Events are best used for tracking user behavior that you usually wouldn't keep in a data warehouse or database such as:

  • Page Viewed
  • Button Clicked
  • Session Created

Grouparoo Events are flexible and allow you to track all kinds of behaviors. Once you start tracking Events, you can then create Profile Property Rules based on Events to associate them with Profiles. Learn more about Events here.

Filter

Filters are a series of rules used to filter data into some desired subset.

Generator

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.

Group

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.

There are 2 types of groups: Calculated and Manual

High Watermark

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 Group

Manual Groups are a type of Group that only change when you add or remove Profiles.

Mapping

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 email, while your Source has an attribute called emailAddress, which is a unique field in that Source. You could map emailAddress from your source to email in Grouparoo. This tells Grouparoo that when anything changes on the Source, it knows which profile to update.

Every Source needs a Mapping, as Grouparoo must know how to associate imported information.

Plugin

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.

Being that Grouparoo is a Node.js application, the plugins are available as JavaScript packages through NPM. The majority of plugins are open-source and available for free, though we do have also have paid plugins.

Learn more about existing plugins, or develop your own plugin.

Profile

Profiles represent individual people. For your specific company or organization, that may mean:

  • Leads
  • Customers
  • Users
  • Visitors to your site or app

Profile Property

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 number, date, or 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:

  • Email Address
  • User ID

Common examples of Not Unique Profile Properties are:

  • First Name
  • Last Name
  • Date of Last Purchase

Profile Property Rule

Profile Property Rules define how a 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 Profile Property Rules.

For example, you might define a Profile Property Rule called first_name which you are pulling from your product database via the @grouparoo/postgres plugin, or you might define number_of_purchases, which you are using the Grouparoo Event system to count up.

Query Source

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.

Run

A Run is a series of imports and/or exports. Runs are triggered by actions in Grouparoo, such as creating a new Group. Runs can also be triggered by Schedules.

Schedule

A Schedule defines some interval by which to process a Run. Though technically separate objects, Schedules are often used in conjunction with Sources.

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 you add a new Source, you will define how that Source connects with the Profiles that already exist in Grouparoo through a Unique Profile Property.

See our Integrations page for an up-to-date list of our supported Sources. We are always adding support for more Sources. If you have a request, please let us know!

Table Source

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.