Ninetailed
Ask or search…
K

Content Sources

Connecting your content with Ninetailed to experiment and personalize.
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.

Ninetailed Environments

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.

Create a New Connection

Ninetailed Content Sources dashboard
Content Sources in Ninetailed
  • 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.
Contentful
Contentstack
Hygraph
  • 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.

Connecting an alias

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 Audienceentries and publish it, or click the "sync content sources" button in your Ninetailed Dashboard.
  • Select the region to which your CMS project belongs
  • 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 stack-branch-environment combinations to which your current Contentstack account has access to in the region you selected during the prior authorization step.
  • ⚠️ Ninetailed does not support connecting to branch aliases at this time. Please choose to connect an "environment", not an "alias" when prompted at the configuration screen.
  • Choose the destination where you want to install Ninetailed.
To connect to Hygraph, you will need to generate a Hygraph auth token to populate within the Ninetailed dashboard.

Create Your Hygraph Token

  1. 1.
    Go to Project Settings in your Hygraph project. You can check out the Hygraph guide from here
  2. 2.
  3. 3.
    Initialize all models for the Content API Permissions
  4. 4.
    Select the following permissions for the Management API Permissions:
    • Create new roles
    • Read existing environments
    • Create new models
    • Read existing models
    • Update existing models
    • Delete existing models
    • Create new fields
    • Read existing fields
    • Update existing fields
    • Delete existing fields
    • Create new entries
    • Read existing entries
    • Update existing non-published entries
    • Update published entries
    • Publish non-published entries
    • Delete existing entries
    • Create new webhooks
    • Read existing webhooks
    • Update existing webhooks
    • Delete an existing webhook
    • Read stages
    • Update stages
    • Delete stages
    • Read public content views
    • Create public content views
    • Update public content views
    • Delete public content views
    • Can delete existing extensions in an existing project
    • Can add a new extension to an existing project
    • Can see existing extensions in an existing project
    • Can update existing extensions in an existing project
    • Can add app installations
    • Can update app installations
    • Can delete app installations
  5. 5.
    Finally, copy and paste your API token into your Ninetailed account, then click Set Hygraph Key
  • 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).

Not seeing your CMS?

If your CMS is currently not supported, let us know by filling in our survey or getting in contact with us on how to use our API for non-CMS content.

Add Experiences to Content Types

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.
Contentful
Contentstack
Hygraph
After creating your content source by following the steps above, you will be directed to a configuration screen showing all of your content types.
Ninetailed Contentful content type configuration interface
Ninetailed's configuration screen
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".
After creating your content source by following the steps above, you will be directed to a configuration screen showing all of your content types.
Contentstack Content Source Configuration Screen
Select the content types that you want to add Personalizations and Experiments to. If you wish to add Personalizations and Experiments to modular blocks, select the content types containing those modular block fields. 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 will also need to configure the referenced Content Type for Ninetailed Experiences.
  1. 1.
    Go to the Ninetailed Experience content type.
  2. 2.
    Click on the Variants field.
  3. 3.
    Click on the Referenced Content Type of that field. Remove Ninetailed Audience from this field, then select all content types that can reference experiences. You should include any content types with modular block fields you intend to add experiences to.
  4. 4.
    Click Save.
Setting Ninetailed Experiences to support your newly personalized content type in Contentstack
Hygraph does not install a Ninetailed Experiences content type, because the Hygraph integration supports only adding personalizations. See Legacy Model Personalization for details on adding personalizations.
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 to. This will extend your content model to include a one-to-many reference field on those content types entitled "Variants" (field name nt_variants) that will reference entries of your existing content types.

Next Steps

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.