Data Enrichment API

Product

Essentials
Growth
Enterprise

Getting Started

Overview

The Data Enrichment API allows you to create custom Enrichment Fields in Conductor Monitoring and populate them with any data you need from your end.

You can work with these Enrichment Fields in Conductor Monitoring in the same way as the rest of the properties that Conductor Monitoring is already monitoring.

Note!

Conductor provides APIs for several different uses across its Conductor Monitoring and Conductor Intelligence products. This article describes Conductor Monitoring's Reporting API. If you are looking for information about a different API offering, consider the following articles:

 

How do the Data Enrichment API work?

The Data Enrichment API uses a single endpoint in Conductor Monitoring's Reporting v1 API. After configuring Enrichment Fields, you can send data about these fields to Conductor Monitoring to include with other data in the platform.

Example Use Cases

Sending page metrics data to Conductor Monitoring through our Data Enrichment API allows you to filter on these enrichment fields in the Pages report in Monitoring and combine them with other on-page properties that Conductor Monitoring is already monitoring to create segments.

The potential use cases for Enrichment Fields are endless. Below you can find just a few examples to get you started:

Owner of the Page

Does each of your pages have an owner who is responsible for them? Configure an Enrichment Field Owner, and then you can create new segments for each owner so that everyone knows which pages they need to keep their eye on.

contentking-enrichment-field-segment-@2x.png

Revenue per page

Do you have a Revenue metric which shows you the revenue of each individual page? Send this metric directly to Conductor Monitoring and configure alerts to be notified about any changes to it.

Find more about the alert here.

contentking-alerts-using-enrichment-fields@2x.png

Qualified Leads

Counting how many qualified leads each page produces? Why not send this metric to Conductor Monitoring and create a segment that groups the highest performing pages together.

Working with the Enrichment Fields in Conductor Monitoring

Once Enrichment Fields are added, you can work with the custom metrics across the whole platform, same as with the other page properties and metrics Conductor Monitoring is monitoring.

Using Enrichment Fields in Pages

Each Enrichment Field has its own dedicated column on the Pages screen which you can use for filtering:

contentking-enrichment-field-column-@2x.png

You can also create segments based on the Enrichment Fields, which can be very useful when grouping URLs in clusters.

contentking-enrichment-field-segment-@2x.png

On the page detail screen, you will always see the data for the given page:

contentking-enrichment-field-details-screen@2x.png

Using the Enrichment Field data in Alerts

Alerts on Enrichment Fields allow you to be notified about changes of any custom metric that you send to Conductor Monitoring.

This alert type is really useful as it allows you to stay on top of any changes that are being made to the metrics you are most interested in. Find more about this alert here.

How is the Data Enrichment API different from Custom Element Extraction?

Conductor Monitoring has two features which allow you to pull custom metrics to our platform and work with them in the same way as with the rest of the out-of-the-box metrics and properties:

  • Custom Element Extraction
  • Data Enrichment API

The difference between these two features is in the way in which the custom data gets to Conductor Monitoring:

  • Custom Elements are being extracted by Conductor Monitoring from the monitored website’s source code or the rendered DOM.
  • Enrichment Fields are populated via the API from your end.
 

Data Enrichment API Terms of Use

By using the Data Enrichment API you agree to the Terms of Use.

Setting up the Enrichment Fields

To create Enrichment Fields in Conductor Monitoring:

  1. Follow the path Settings > Enrichment Fields
    contentking-enrichment-field-creator-@2x.png
  2. In the Enrichment Fields Editor where you need to click Create Enrichment Field.
  3. Enter the Name for the Enrichment Field that best describes the custom metric you are going to send to Conductor Monitoring. For example, Revenue (USD) for the revenue metric or Owner for the owner of the page.
    contentking-enrichment-field-name-@2x.png

    Tip

    Keep names of your Enrichment Fields consistent across websites so that Conductor Monitoring knows they are related.

    That way, when you filter on a column for an Enrichment Field on one website and switch to another website that has an Enrichment Field with the same name, the value in the filter will carry over. The same applies for reordering the columns in the Enrichment Field section of Manage columns.

     
  4. Choose the format of the Enrichment Field you want to send to Conductor Monitoring. You can choose from the following formats:
    1. string
    2. number
    3. boolean
    4. date
      contentking-enrichment-field-type-@2x.png

      Important

      The Enrichment Field value for all pages that you send in the API request needs to correspond to the field type selected in step 4. Otherwise Conductor Monitoring won’t process the API request and will return an error.

       
  5. Note the an Enrichment Field ID, which you will need to send with the API request in the documentation below.
    contentking-enrichment-field-id-@1x.png

Authentication

Get your CMS API integration token

To use the CMS API you need to get your Conductor Monitoring account's Data Enrichment API token. You'll find it in the Integration Tokens section under the Account tab in the main Account section.

Configure your request headers

To authenticate your requests, you need to include the following request headers:

Authorization: token {Your-CSM-API-Token}
Content-Type: application/json

Note!

The value for the Authorization header must be the string "token" followed by a space and then your actual API token.

 

Using the Data Enrichment API

Send metrics custom metrics to Conductor Monitoring for your Enrichment Fields

https://api.contentkingapp.com/v1/enrich

In each of the requests described below, you'll use the ID from the Enrichment Field created above.

Request Body for string type

{
  "websiteId": "<website-id>",
  "data": [
    {
      "url": "<url1>",
      "fields": {
        "<enrichment-field-id>": "Value1"
      }
    },
    {
      "url": "<url2>",
      "fields": {
        "<enrichment-field-id>": "Value2"
      }
    }
  ]
}

Request Body for boolean type

{
  "websiteId": "<website-id>",
  "data": [
    {
      "url": "<url1>",
      "fields": {
        "<enrichment-field-id>": true
      }
    },
    {
      "url": "<url2>",
      "fields": {
        "<enrichment-field-id>": false
      }
    }
  ]
}

Request Body for date type

{
  "websiteId": "<webiste-id>",
  "data": [
    {
      "url": "<url1>",
      "fields": {
        "<enrichment-field-id>": "2021-08-10T07:46:44+00:00"
      }
    },
    {
      "url": "<url2>",
      "fields": {
        "<enrichment-field-id>": "2021-08-10T07:46:44+00:00"
      }
    }
  ]
}

Important!

Date values must be in the ISO 8601 format indicated: YYYY-MM-DDT:HH:MM:SS±[HH]:[MM]

 

Request Body for number type

{
  "websiteId": "<website-id>",
  "data": [
    {
      "url": "<url1>",
      "fields": {
        "<enrichment-field-id>": 1
      }
    },
    {
      "url": "<url2>",
      "fields": {
        "<enrichment-field-id>": 2
      }
    }
  ]
}

Combining different Enrichment Field types in one request

You can also send multiple Enrichment Fields in one request allowing you to populate data for different Enrichment Fields for the same URL.

Example for sending a number and a string value

{
  "websiteId": "<website-id>",
  "data": [
    {
      "url": "<url1>",
      "fields": {
        "<enrichment-field-id-1>": 1,
        "<enrichment-field-id-2>": "Value1"
      }
    },
    {
      "url": "<url2>",
      "fields": {
        "<enrichment-field-id-1>": 2,
        "<enrichment-field-id-2>": "Value2"
      }
    }
  ]
}

Removing Enrichment Field values

You can also easily remove the Enrichment Field values from the necessary URLs.

Example request for removing values

{
  "websiteId": "<website-id>",
  "data": [
    {
      "url": "<url1>",
      "fields": {
        "<enrichment-field-id>": null
      }
    },
    {
      "url": "<url2>",
      "fields": {
        "<enrichment-field-id>": null
      }
    }
  ]
}

Rate limits

Rate limits define the maximum number of requests which can be made in a given time range.

Conductor Monitoring’s Data Enrichment API has the following rate limits:

  • 1000 URLs can be sent per request
  • 1 request/second/website

The Data Enrichment API uses rate limits to ensure API request traffic can be handled efficiently.