Content Sources
Connecting your content with Ninetailed to experiment and personalize.
Last updated
Connecting your content with Ninetailed to experiment and personalize.
Last updated
A content source represents the connection between your CMS project and Ninetailed. Ninetailed syncs your audiences and experiences so that the Ninetailed Experience API knows what Audiences and Experiences to assign to a profile.
Notice that while Ninetailed knows about your audiences and experiences, it does not store or deliver your content; we believe that your Content Management Systems (CMS) already performs these tasks well. Ninetailed focuses on providing profiles that indicate what content should be displayed to a user.
Your Ninetailed account comes with two environments: a main
and a development
environment. The dropdown in the top left of the dashboard at app.ninetailed.io indicates what Ninetailed environment you are currently viewing. Profiles, Audiences, and Experiences from content source connections are isolated to each environment.
When creating a Ninetailed instance in your code base, be sure that the environment
property you supply matches the Ninetailed environment you created.
Go to the Content Sources page on your Ninetailed account, then click Setup Your First Connection. If this is not your first CMS connection, you can create a new connection by selecting New Content Source.
Select your Content Source.
The next steps vary depending on which Content Source you are connecting to.
Authorize the connection with your CMS. If you are not already logged into your CMS, you will be prompted to do so at this time.
After the authorization is complete, you will see the list of Contentful environments to which your current Contentful account belongs to. Choose the environment where you want to install Ninetailed.
When prompted to create the connection, you may optionally toggle off installing Merge Tags if you need to be conscientious about the number of content types you are using within your Contentful environment. Merge Tags are a content type that allows you to dynamically insert profile attributes into content.
For Contentful, Ninetailed allows you to connect to an environment alias. Contentful encourages using environment aliases to make it easier to publish and roll back your configurations and content. To connect an environment alias with Ninetailed, click "Setup an Alias Content Source" in your Content Sources tab.
Ninetailed does not get notified by Contentful when you change the target of an environment alias. In order to make sure that your Ninetailed configurations are synced correctly, make any change (e.g., changing a description) to one of your Ninetailed Experience
or Ninetailed Audience
entries and publish it, or click the "sync content sources" button in your Ninetailed Dashboard.
Provide a name and (optionally) a description for the connection.
Click "Create Content Source". This will extend the content model of the selected project by adding three content types: Ninetailed Audience, Ninetailed Experience, and Ninetailed Merge Tag (unless toggled off when creating a Contentful connection).
Next, extend your content model to support Personalizations and Experiments. While the Ninetailed content types are similar across the content management systems that Ninetailed connects to, the steps to extend a content model in each CMS varies.
After creating your content source by following the steps above, you will be directed to a configuration screen showing all of your content types.
Select the content types that you want to add Personalizations and Experiments to. This will extend your content model to include a one-to-many reference field on those content types entitled "Ninetailed" (field name nt_experiences
) that will reference entries of type "Ninetailed Experience".
You are now able to create Audiences and Experiences in your connected Content Source. In order to render them in your front-end, make sure to set up your delivery. We also recommend adding your customer data and configuring Ninetailed Insights to measure performance.