Skip to content
  1. Extras
  2. PromoDs

PromoDs

Paid component for quick installation of a top-of-site banner. Users can hide it and it won't show again.

Buy

Demo: promods.bustep.ru

Useful for privacy policy consent (banner demo). Message shows until user agrees.

Features

  • Quick start: add [[!promoDs]] to any template and banner appears at top
  • 2 built-in banner templates: promoDsBanner (ad) and promoDsBannerConfidentiality (privacy policy)
  • Output anywhere with auto expand
  • Yandex Metrika goals
  • Pass any params: [[!promoDs? &myparams=`Banner name`]]
  • Show once; after close button banner won't show again. For logged-in users, state stored in extended
  • Output any content via content placeholder
  • Use standard BannerY: [[!promoDs? &content=`[[!BannerY? &postion=`1` &limit=`1`]]`]]
  • AdBlock resistant
  • Yandex Metrika goals (link clicks sent to Metrika)

Внимание

Only 1 banner per page.

Default banner id is name = promoDsBanner. For multiple banners use different names:

modx
[[!promods?
  &name=`promoDsBanner`
]]
[[!promods?
  &name=`promoDsBanner1`
]]
[[!promods?
  &name=`promoDsBanner2`
]]

Installing banner

modx
[[!promods?
  &timeout=`600`
  &tpl=`promoDsBanner`
  &name=`promoDsBanner`
]]

Installing banner

Privacy policy banner

modx
[[!promods?
  &timeout=`600`
  &tpl=`promoDsBannerConfidentiality`
  &name=`promoDsBannerConfidentiality`
]]

Privacy policy banner

Parameters

ParameterDefaultDescription
tplPromodsBannerBanner chunk
contentUse instead of chunk. Can pass content, e.g. &content=Banner text
resetfalseReset current user's view records
target_yandexfalseSend goals to Yandex Metrika (create goal first)
target_target_yandex_counterMetrika counter id, e.g. yaCounter37321225 Counter
namepromoDsBannerUnique banner id for tracking
pageToptrueAuto-register at top. If false, banner shows where snippet is placed
showAllfalseAlways show regardless of close
showFastfalseShow immediately without delay
hide_clickfalseHide after ad link click and don't show again
hide_timeout100Delay before showing (ms)
hide_timeout_redirect100Redirect delay after ad link click
pageShowEmpty = all pages. Comma-separated ids for specific pages
link_target.promo_ads_link_targetClass for links that trigger Metrika goal + redirect
closed.promo_header__closedClass for close button, records that banner was shown
selectorpromo_headerid of element where banner loads
frontend_css[[+assetsUrl]]css/web/default.cssFrontend CSS
frontend_js[[+assetsUrl]]js/web/default.jsFrontend JS

Yandex Metrika goals setup

  • Enable: target_yandex = 1
  • Counter: target_yandex_counter = yaCounter37222325
  • Default goal name: name = bannerDs
  • Create JavaScript event goal in Metrika: goal setup guide

Yandex Metrika goals

JS events

js
PromoDs.showBefore = function () {
  // before banner expand
};
PromoDs.showAfter = function () {
  // after banner expand
};
PromoDs.hideBefore = function () {
  // before banner hide
};
PromoDs.hideAfter = function () {
  // after banner hide
};
PromoDs.beforeClick = function () {
  // after link click
};