Plugins

Optional plugins that add site-wide functionality

Plugins

The Plugins resource allows for enabling of functionality site-wide. Normally these plugins also have configurable fields that change the behavior as well has fields that take account IDs or other credentials needed for the plugin to function. It is a sub-resource of "Site".

Supported plugins

Each plugin has specific fields. Documentation for the specific fields and example for each plugin can be found below.

plugin_type

customtag

Adds custom HTML to the header, footer, or prebody (right after <body>) of all pages within your Site

View example

googletagmanager

Adds the Google Tag Manager tags to your site in the correct locations within the HTML

View example

Plugin Model

Plugin object

A plugin object contains the following common fields

Attribute

Type

Description

id

integer

Unique id of the plugin

active

boolean

Inactive plugins maintain configuration but do not output on the Site

plugin_type

string

Type of the plugin (required)

site_id

integer

Reference id to the Site this plugin is under

Example object:

Below is an example of a googletagmanager plugin which has a field unique to this plugin account_id. Documentation for the specific fields for each plugin can be found further below.

{
"active": true,
"account_id": "PDTVXXX",
"id": 1234,
"plugin_type": "googletagmanager",
"site_id": 54321
}

Create a plugin

POST /api/v2/sites/:site_id/plugins/:plugin_type/

Required fields

Attribute

active

plugin_type

List plugins

List all plugins for a Site ID including active and inactive

GET /api/v2/sites/:site_id/plugins/

Response

{
"meta": {
"limit": 20,
"next": null,
"offset": 0,
"previous": null,
"total_count": 3
},
"objects": [
{
"account_id": "GA-XXXXXX",
"active": false,
"id": 12344,
"plugin_type": "googleglobalsitetag",
"site_id": 54321
},
{
"account2_id": null,
"account_id": "PDTXXXX",
"active": true,
"id": 12345,
"plugin_type": "googletagmanager",
"site_id": 54321
},
...
]
}

Get a single plugin

Fetch the Plugin detail using the Site.id and Plugin.plugin_type. This endpoint can also be used to determine if a particular plugin is already added to a Site

GET /api/v2/sites/:site_id/plugins/:plugin_type/

Update a plugin

PUT /api/v2/sites/:site_id/plugins/:plugin_type/

Delete a plugin

DELETE /api/v2/sites/:site_id/plugins/:plugin_type/

Custom Tag Plugin (customtag)

Adds custom HTML to the header, footer, or prebody (right after <body>) of all pages within your Site

Endpoint

GET /api/v2/sites/:site_id/plugins/customtag/

Plugin object

In addition to the common fields, a customtag plugin object contains the following fields

Attribute

Type

Description

footer_template

string

HTML to add to the bottom of the page before the closing </body> tag

header_template

string

HTML to add to the end of the <head> tag

prebody_template

string

HTML to add to the start of the page right after the <body> tag

Example object:

{
"active": true,
"footer_template": "<script src=\"...\"...></script>",
"header_template": "<script src=\"...\"...></script>",
"id": 1234,
"plugin_type": "customtag",
"prebody_template": "<script src=\"...\"...></script>",
"site_id": 54321
}

Google Tag Manager Plugin (googletagmanager)

Adds the Google Tag Manager tags to your site in the correct locations within the HTML

Endpoint

GET /api/v2/sites/:site_id/plugins/googletagmanager/

Plugin object

In addition to the common fields, a googletagmanager plugin object contains the following fields

Attribute

Type

Description

account_id

string

The Google Tag Manager account ID, excluding the GTM- prefix

Example object:

{
"active": true,
"account_id": "PDTVXXX",
"id": 1234,
"plugin_type": "googletagmanager",
"site_id": 54321
}