Storage Integrations

Overview of how the storage integrations work

Niklas Cuthbert Mehlsen avatar
Written by Niklas Cuthbert Mehlsen
Updated over a week ago

Storage integrations can automatically transfer player data to your own storage cloud provider, so you don't have to manually export it from your campaign.

They, therefore, have the same function as email provider integrations, which send data automatically to your Customer Relationship Management or Email Provider system.

To know more about email provider integrations read here.

In this article, you will learn about:

  • Which storage integrations Playable provides

  • The common steps you need to take to set up these integrations

What storage integrations are available?

The are currently five storage integrations available: FTP/SFTP, Google Bucket, Google Sheet, Dropbox, and S3 Bucket.

You can also use a webhook to transfer data out of your campaign automatically, but this integration works slightly differently. Read more here about how to set up a webhook.

Setting up storage integrations

The process for setting up these integrations varies depending on which cloud storage provider you are using.

However, some steps are common to all of them. Typically, you will need to go through the following steps:

  1. Grant Playable access to your system

  2. Select the integration settings

  3. Select an event that will trigger the data transfer

  4. Choose which data fields you want to export

    1. (optional) Add extra "static" information

  5. Test the integration before going live with your campaign

Step 1: Connect Playable to your system

The first step you will take is to grant Playable access to the cloud storage provider you are using.

To do that, you typically need to insert authentication details from your system into the Playable integration settings.

For example, to connect Google Sheet with Playable, you need to insert the link of the spreadsheet and also "share" the spreadsheet with the email generated by Playable.

Step 2: Select the integration's settings

If a players registers twice you can avoid sending duplicate information to your cloud storage provider by ticking the "only send the email once on this integration" checkbox.

This way, you will only send unique registrations from your campaign.

This is important because storage integrations do not search to see if a user's information already exists.

This means that, unlike with email provider integrations, it is not possible to update existing users. Instead, every registration on your Playable campaign will come in as a new record. If a player of the game is already a contact in your database there will be duplicate records of his/her information.

Step 3: Set the integration's trigger event

Before you can edit the integration's settings, you need to decide which event will trigger the integration. This event is what needs to happen before Playable tries to send information through the integration.

The default setup is to trigger data transfer when primary registration form is submitted. This is the form that contains the field that collects a unique identifier e.g. e-mail or phone number.

You can set up additional conditions for the trigger as well. For example, you can choose a field in the reg. form that must be filled out for the data transfer to be triggered.

Typically, we recommend selecting the checkbox your players use to accept terms and conditions. That way, the integration will only send data to your system after players accept your terms and conditions. See example below:

An advanced event trigger should only be used if you want to filter which players' data is sent through the integration. For example, you might send data only for players who have a specific game outcome (metric data) or who selected a specific response in the registration form (form field data).

Step 3: Map the data fields

Most email providers and storage integrations allow you to send data from the following parts of your campaign:

  • Form fields: any details players enter in the registration form

  • Campaign information: general data about the campaign and the participation (e.g. campaign name, device used, date and time of registration)

  • Game flow information: metric data and other information about the game play (e.g. quiz answers, time used)

  • Bulk prizes: information about the prize won by the player, such as the prize code or ESP value.

* You have to turn on game flow and bulk prize data mapping at the top of your integration settings before you can use them.

You will "map" each field from your campaign to a field in your own system using drop-down menus. This drop-down is where you select where in your CRM or ESP or storage solution the data should be sent.

For example, in the Google Sheet integration, you will match each field with a column in your spreadsheet.

Step 4: Add static information (optional)

You can add static information when you want to track something that is true for every player but is not collected in the campaign automatically.

For example, you can use static information if you want to track Playable as the user "source" in your database.

Once you enter a static value, you can map the field as you would with any other data field.

Step 5: Test the integration

We recommend testing the integration before going live. You can test integrations without publishing the campaign.

You can do a quick test using the function at the bottom of the integration settings. This will send only the basic registration form field data but will allow you to see if the connection works.

For a more thorough test that includes game data, campaign information, and static information, you should play the game via the demo URL and submit a registration in the frontend.

After you register, go to the campaign backend. Under the Activity tab, you can see a note under each registration confirming whether or not the data was successfully sent through the integration.

If the integration fails, you can troubleshooting by looking at the log file. To learn more about troubleshooting your integration read here.

Did this answer your question?