With Flywheel, you can start building audiences and exporting them to your favorite destinations within minutes. One of the key first steps to do so is to prepare your customer data for easy integration with our web application.
Flywheel accepts 3 types of data tables: Customer Details, Transactions, and Events.

Customer Details
To get started you only need to hook up one dataset to Flywheel - your Customer Details dataset. Simply identify this table in your data warehouse, label a few fields, and away you go.
There are a few things Flywheel will ask for in this table when you are setting up:
- Customer Unique ID: You must have a unique ID on your table that identifies a customer. This is how Flywheel splits your audiences into treatment and control groups. You can use identifiers that are 100% populated like email or mobile device ID, but we do not encourage it as uniqueness is not always guaranteed across all your customers.
- Email: Email address of user. This field is used to match to Destinations.
- Device ID: Mobile Device ID of user. This field is used to match to Destinations.
- Total Spend (optional): Total spend of user with your company. This field is used in the Audience Report to show your team how much revenue they are targeting with their audience.
- Additional Attributes Fields (optional): We encourage you to add as many attributes to your Customer Details Dataset as possible to filter on and empower your business teams when creating an audience.

Transactions
Connect a Transactions Dataset to create dynamic audiences based on when customers purchase, what types of purchases they make, and how much they spend. This table should contain all the purchases your customers make, or at least as many as you have readily available.
Here are a few examples of powerful fields to include in your Transactions table:
- Customer Unique ID (mandatory): This is your Customer Unique ID to identify the user that made the transaction and to connect to the Customer Details table discussed above.
- Category: Category of item purchased
- Price: Price of item purchased
- Discount Code: A field that identifies if a coupon code was used and what type.
- Return or Exchange: A field that identifies if this was a return or exchange.
- Purchase Timestamp: Timestamp when item was purchased
- Additional Attribute Fields: We encourage you to add as many attributes to your Transactions Dataset as you like, so your business teams can create audiences based on when your customers buy.
Do you have multiple types of Transactions in different tables? Don’t sweat it. You are able to add multiple Transaction Datasets to Flywheel to create audiences on each. Just make sure each has the Customer Unique ID tied-in.
Events
Add an Events Dataset to create dynamic audiences based on other user event data such as web app/mobile app usage, email opens, ticket scans, survey logs, and/or customer service logs. You are able to add multiple Events Datasets, just like Transactions, so long as each has the Customer Unique ID available for matching.
Examples of Events fields are:
- Customer Unique ID (mandatory): This is your Customer Unique ID to identify the user that performed the event and to connect to the Customer Details table discussed above.
- Event Name: Name of event
- Event Timestamp: Timestamp when item was purchased
- Type: Category of event performed
- Value: Value of Event
- Additional Attribute Fields: We encourage you to add as many attributes to your Events Dataset as you like, so your business teams can create audiences based on when your customers perform actions.
If, after reading this, you are unsure if your Customer Data Model fits neatly into one of these three dataset types, or your Data Warehouse does not currently have a single view of your customer, please reach out to us at solutions@flywheelsoftware.com. We would love to brainstorm solutions together with you to enable your teams to get up and running within the Flywheel app as soon as possible!