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
googletagmanager
Adds the Google Tag Manager tags to your site in the correct locations within the HTML

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 Global Site Tag (googleglobalsitetag)

Adds the Google Site Tag (i.e. gtag) to your site in the correct locations within the HTML.
This plugin supports the following tracker types/account IDs
  • UA-XXXXXX - Universal analytics (i.e. Google Analytics)
  • G-XXXXXX - GA4 (Google Analytics 4)

Endpoint

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

Plugin object

In addition to the common fields, a googleglobalsitetag plugin object contains the following fields.
Attribute
Type
Description
account_id
string
gtag config tracking ID.
account2_id
string
gtag config tracking ID.
account3_id
string
gtag config tracking ID.

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
}