Placement settings

There are two types of Placement settings:

  • Settings defined on the level of a CMH property

  • Settings within each particular Placement

In this article, you’ll learn how to use the Placement settings to:

  • Define conditions that must be met for a Placement to execute.

  • Use the URL to preview a Placement.

  • Get your Placement content.

For global settings, see Property settings.


  • Implementation type:

    Client-side implementation

    Allows you to define rendering logic in the placement builder.
    CMH will handle the API calls and bundle your code into the client-side script Smartserve.

    API implementation (default)

    Allows you to define rendering logic in your own application, by calling the Content API. This provides you with the more flexibility and enhanced performance.
    This is the recommended option set by default.


    For any Placement, you can set the implementation type different from what’s specified in the property-level settings.

  • Preview URL Defines which URL to preview your Placement on.


Simple triggers let you specify conditions that must be satisfied before your Placement executes. Adding any such conditions here has several benefits:

  • If the conditions you specify aren’t satisfied, you avoid making a call to the Content API on behalf of your visitors.

  • It can greatly simplify and reduce your Placement implementation code.

  • It can make appropriate error handling much easier in your Placement implementation.

The following simple triggers are currently available:

Name Description Data source

Device type

The type of device that the Placement should execute on.

From the browser’s user agent string.

Page URL

The URL that the Placement should execute on (supports glob style wildcards '*').

From the browser’s current URL.

Page type

The page type.

From the latest ecView event’s type.

Page sub type

The page sub type.

From the latest ecView event’s subtypes.

Polling for

A set of in-page selectors or global window attributes to poll for before the Placement executes (the result will be passed to your renderPlacement function under elements).


Don’t forget to poll for anything you need or that you expect to already be on the site, that is, a global object, like window.jQuery or an element, like #banner. If you don’t do that, whether your code runs or not will be dependant upon the dependency loading before your code does, which isn’t always the case.

Health tracking

The Health tracking option enable or disable clickthrough health tracking for the Placement and any campaigns running in it.

Product source (Badging Placements only)

Setting a product source for badging Placements is necessary for enabling the Content API to filter the products on which badging can be applied. The product source also determines the format of the Content API’s response to the user’s request.

Option Description Content API request attribute key Is multi-product source?


Used to badge the main product on a product detail page.


Used to badge a set of products in a visitor’s basket.




Used to badge a set of products on a product listing page.




Used to badge a set of products on a search result page.




Used to badge a set of products that a visitor has purchased.




Used to badge a set of products in a product recommendations carousel.