# Advertisement systems catalog

If the provider that you are looking for is not on the list, you can create a custom extension.

Some information common to all ad servers:

  • The type is always required: it represents the "official" ad server name, as used in AMP.
  • Mandatory attributes have a * next to their name.
  • Even for attributes requiring an integer, a string is usually accepted, to account for variable replacement.
  • Touch-specific parameters can usually be added with a json object.

Call to Contributions

Marfeel advertising has many more extensions. Find them all on Github, and don't hesitate to aliment this catalog (opens new window).

# a9

Type is always "a9".

Attribute Type description
width* string .
height* string .
amzn_assoc_ad_mode* string Any of: "search", "manual", "auto".
recomtype string .
adinstanceid string .
regionurl string .
divid string .
amzn_assoc_asins string .
amzn_assoc_placement string .
amzn_assoc_search_bar string .
amzn_assoc_tracking_id string .
amzn_assoc_search_bar_position string .
amzn_assoc_ad_type string .
amzn_assoc_marketplace string .
amzn_assoc_region string .
amzn_assoc_title string .
amzn_assoc_default_search_phrase string .
amzn_assoc_default_category string .

Example:

 "adServers": {
    "a9": {
      "type": "a9",
      "amzn_assoc_ad_mode": "auto",
      "divid": "amzn-assoc-ad-1234-5678-1ab2-c3d4-00cfbeee99a",
      "recomtype": "async",
      "adinstanceid": "12345678-5678-1ab2-c3d4-00cfbeee99a"
    }
 }

# adsense

Type is always "adsense".

Attribute Type description
ad-client* string Publisher id. Must start with ca-pub- followed by numbers. Example: ca-pub-1234567891234567
ad-slot* integer example: 9667904487

Check the adsense schema (opens new window) for more optional attributes, and edit this file (opens new window) if you can contribute.

# doubleclick

Doubleclick is often abbreviated as DFP, and is the ad server used by Marfeel positions.

Type is always "doubleclick".

Attribute Type description
slot string .
width integer example: 300
height integer example: 250
multi-size String of comma-separated sizes (opens new window) Example: 700x90,700x60,300x25

# Taboola (opens new window)

Type is always "taboola".

Attribute Possible values Description
publisher* any string Publisher identifier as received from Taboola representative.
mode* any string different UI templates in the Taboola API and usually, have names that follow their general layout and any special properties they have.
placement* any string Sets the placement of the widget, for reporting purposes.
article "auto" The attribute name is used to classify the page type, and the value is used for setting a unique identifier of the page.
homepage "auto" The places where the data-home its place.
heights any string Defines the height of the element in different responsive breakpoints as a percentage of the width. if this attribute is not used, the widget will have a static aspect ratio defined by the width and the height.
layout any string If the heights attribute is supplied, the layout attribute can be omitted and layout=responsive is implied, otherwise see amp layout system documentation for a detailed list of layout options.
container any string The places where the modules are rendered on the page.
target_type "mix" ???
url string Placed in data-url.
json object Is deserialized in in data-json.

TIP

In addition to the mandatory attributes, exactly one of article or homepage must be present.

# Taboola json object values

  • disableMarfeelStyles: boolean. Defaults to false, for touch only. Whether the marfeel styles should be disabled or not.

# Taboola Example

"adServers": {
    "taboola": {
        "type": "taboola",
        "publisher": "brasil247",
        "heights": "(min-width:1565px) 73%, (min-width:1106px) 79%, (min-width:788px) 88%, (min-width:769px) 117%, (min-width:726px) 90%, (min-width:521px) 103%, (min-width:437px) 140%, (min-width:391px) 565%, (min-width:365px) 596%, 624%",
        "article": "auto",
        "mode": "thumbnails-a",
        "placement": "Below Article Thumbnails"
    }
}

# Teads (opens new window)

  • Type: teads
  • Required: pid
  • Optional: none

# Teads configuration

pid: Number provided by Account Manager.

# Teads example

"adServers": {
    "teads": {
        "type": "teads",
        "pid": "12345"
    }
}

# Outbrain (opens new window)

  • Type: outbrain
  • Required: widgetId,obTemplate
  • Optional:json

# Outbrain configuration

widgetId: Id/s provided by Account Manager.

obTemplate: data-ob-template attribute provided by Account Manager.

json: Object that allows the following customisation parameters. disableCustomStyles, disableIframe, customStyles and iframeOptions.

  • disableIframe (deprecated): false by default, if true it loads the mad directly in the DOM, without an iframe.
  • disableCustomStyles (deprecated): false by default, when true it prevents any extra styles to be imported. If set to true, either product stylesheet (opens new window) will be imported or customStyles needs to be enabled to add custom styles.
  • customStyles (deprecated): disableCustomStyles must be false to enable this feature. [Product stylesheet]
  • iframeOptions (deprecated): Attributes can be added so they propagate to the [create iframe function]

# Outbrain example

"adServers": {
    "outbrain": {
        "type": "outbrain",
        "widgetId": "MB_1",
        "obTemplate": "templateName"
    }
}

# Zergnet

  • Type: zergnet
  • Required: zergid
  • Optional: none

# Zergnet configuration

zergid: Number provided by Account Manager.

# Zergnet example

    "adServers" : {
    "zergnet" : {
      "type" : "zergnet",
      "zergid" : "12345"
    }
}

# Prebid

Type is always "Prebid".

This extension only works in touch, as javascript execution is not allowed in AMP pages.

Attribute Type description
slot* string .
multi-size* String of comma-separated sizes (opens new window) Example: "700x90,700x60,300x25".
json* object See Prebid - Json.

# Prebid json object values

Attribute Type description
bidders* array Bidders of the tenant.
targeting object Targeting key value for this DFP instance.
uamOptions string UAM Options if you need pass UAM decorator. Required: ["pubId", "script"]
priceGranularity object or string Buckets options for PBJS
prebidName string When a client instance prebid with a customName
options object DFP-related options. Can contain queryStringAsTargeting, bufferSlotRenderEndedEvents, refreshAdUnits

This object can also contain any additional properties.

# Prebid Example

"prebidAdserver": {
    "type": "Prebid",
    "slot": "/21682112617/example/resto",
    "multi-size": "1x1",
    "json": {
    "targeting": {
        "ec_ptype": "www",
        "ec_site": "1",
        "ec_env": "production",
        "ec_pos": "example",
        "outOfPage": true
    },
    "bidders":[
        {
            "bidder": "appnexus",
            "params": {
            "placementId": "${PLACEMENTID}"
            }
        },
        {
            "bidder": "smart",
            "params": {
                "siteId": 12345,
                "pageId": 98765,
                "formatId": "${FORMATID}",
                "domain": "//prg.smartadserver.com"
            }
        }]
    }
}

# Iframe

  • Type: iframe
  • Required: src, height
  • Optional: none

# Iframe type example

    "adServers" : {
    "iframeAdServer" : {
      "type" : "iframe",
      "src" : "sourOfTheIframe",
      "height": "300px"
    }
}