We Offer Free Shipping Worldwide.
Bulldog Sex Position: What It Is and How to Make It Feel Better
05.06.2026 | xhentaidoll | Blog

Bulldog Sex Position: What It Is and How to Make It Feel Better

Introduction

The bulldog sex position is a lower, tighter rear-entry variation. The receiving partner leans forward more than in standard doggy style, and the penetrating partner stays close behind — creating a compressed angle and more direct sensation.

That intensity is exactly why some couples love it. But without the right support or angle, it can feel uncomfortable fast. The solution? Small adjustments: a pillow, slower pacing, and a little less depth. Get those right, and bulldog feels steady, close, and surprisingly good.

What Is the Bulldog Sex Position?

The bulldog sex position is a lower, tighter rear-entry position where the receiving partner leans forward more than in a classic upright doggy style setup. The penetrating partner stays close behind, which creates a more compressed body line and a more direct angle.

What makes it different is not one exact body shape. It is the lower torso position and the closer contact between both partners. Compared with a more upright rear-entry setup, bulldog usually feels less open and more pressure-focused.

In practical terms, this position often suits couples who want a stronger sense of closeness and control rather than a lot of bounce or big movement. It can also work well for couples who like rear-entry positions but want something that feels more grounded and less loose.

Real takeaway
The bulldog sex position is best understood as a lower, tighter version of rear-entry sex. The appeal usually comes from angle, pressure, and body closeness rather than speed.

Why It Feels Different

The biggest reason the bulldog sex position feels different is the angle. Lowering the receiving partner's torso changes how the hips line up, and that can make the sensation feel more direct. For some people, that feels better right away. For others, it feels too sharp unless they add support first.

The second difference is body contact. Because the partners usually stay closer together, the position can feel tighter and more connected than a wide, upright version of doggy style. That closeness can make the movement feel more controlled, even when the position itself looks intense.

It also changes the rhythm. This is not always a position that needs fast thrusting to work. In many cases, slower movement, steady pressure, and small adjustments feel better than trying to go harder. That is part of why some couples find bulldog more satisfying than standard rear-entry once they learn how to set it up properly.

Feature What It Changes What to Watch For
Lower torso angle Creates a more direct feeling Can feel too sharp without support
Closer body contact Makes the position feel tighter May feel cramped if posture is awkward
Smaller movement Can improve control and rhythm May disappoint if you expect high motion
Rear-entry setup Allows easy angle adjustments Knees, hips, and back may need support

How to Get Into the Position

The easiest way to try the bulldog sex position is to begin with a familiar rear-entry setup and then lower the upper body gradually. The receiving partner can start on the bed with knees apart at a comfortable distance, then lean forward onto the hands or forearms.

From there, the penetrating partner moves in close behind instead of staying too far back. That close placement is important because it helps create the compressed feeling that makes the position different from a standard doggy style variation.

The best approach is to build the position in stages. Lower the chest a little. Adjust the knee width. Move the hips back slightly. Add a pillow if needed. These small changes usually work better than dropping too low too fast and hoping the angle fixes itself.

In many cases, a pillow under the hips, chest, or knees is what makes the position actually usable. If the body feels strained or the angle feels too aggressive, that is the first thing to change.

Simple setup tips

  • Start with a softer rear-entry position before lowering the torso

  • Use a pillow under the hips or chest if the angle feels too sharp

  • Keep the penetrating partner close instead of leaning too far back

  • Use smaller movements first before increasing pace

  • Change the knee width or hip position before assuming the position is wrong

Why Some Couples Like It

One reason couples like the bulldog sex position is that it can feel more intense without requiring a complicated setup. Once the angle feels right, the position often feels steady and focused rather than chaotic.

Another reason is control. Because the bodies stay closer together, it can be easier to keep a consistent rhythm. Some couples prefer that over positions that feel more open or less stable.

It can also work well for people who enjoy rear-entry positions but want more than just the classic version. Bulldog changes the body line enough to feel different, but not so much that it becomes an acrobatic move.

Some people also like that this setup leaves room for extra external stimulation. A hand or a compact toy can often fit into the rhythm more easily than in positions that require both partners to constantly rebalance.

How to Make It Feel Better

The biggest upgrade for the bulldog sex position is usually support. A pillow is often more useful than trying to change everything with force or speed. Supporting the hips, knees, or chest can soften the angle and make the whole position feel more natural.

Lube also matters here, especially if the position feels tight or friction-heavy.

If you want to take things further and bring this tight rear-entry experience to a whole new level, consider trying Meru The Succubus from Xhentaidoll. She's not just another blowjob sex toy or hentai sex doll — she's designed as a "succubus girlfriend" who responds to your rhythm anytime.

Meru features fiery red skin, signature striped horns, and a gradient tail that shifts from purple to pink — all otherworldly details that ignite the fantasy visually. Her face is carefully restored: blunt bangs frame a teasing, bratty expression, and her pointed ears emphasize the magical heritage of her succubus bloodline.

What matters even more: Meru is sculpted in a perfect doggy-style pose — low torso, raised hips, compact curves. That posture aligns flawlessly with the low, tight, compressed feeling that makes the bulldog position unique. You can use her as a practice substitute for the receiving partner, exploring angle and pressure on your own. Or, during partnered sex, her through-channel mouth-to-vagina design and separate anal channel let you test which depth and intensity work best for you and your partner — plus the through-channel makes cleaning surprisingly easy.

"Oh, darling, you think you can handle me? I'm Meru, your naughty little succubus, ready to push all your buttons and make your wildest dreams squirm to life."

If you just want to add a compact toy to your existing setup, our couples toy collection has other options. But if you're looking for a "coach" that holds the perfect bulldog angle without needing breaks or communication, Meru is a surprisingly delightful partner.

Common Mistakes to Avoid

  • Dropping too low too quickly – Many people try to force the full angle right away. That usually creates strain instead of better sensation. Lowering the torso gradually works much better.

  • Confusing deeper with better – The bulldog position can feel more direct, but that doesn't mean deeper or harder always feels better. If the angle feels too sharp, change the setup instead of pushing through it.

  • Ignoring support – Support is not optional in this position for a lot of couples. Knees, hips, and lower back can all feel the difference between a supported version and an unsupported one.

  • Moving too fast too soon – This position often feels better with smaller, slower movement first. Once both partners know the angle feels good, pace can be adjusted if needed.

When This Position May Not Be the Best Choice

The bulldog sex position may not be the best option if one partner already has lower-back discomfort, knee pain, or a strong dislike of direct rear-entry angles. It can also be a poor fit on days when either partner feels stiff, tired, or not interested in a more compressed position.

That does not mean rear-entry is off the table completely. In many cases, a higher-torso doggy style, a supported pillow variation, or a spooning position may feel much better while keeping some of the same general appeal.

The best way to judge the position is simple: if it only feels good for a few seconds before the body starts fighting it, something needs to change. Comfort should come before trying to hold the "right" version of the pose.

Bottom Line

The bulldog sex position works best when you think of it as a lower, tighter rear-entry variation rather than just another name for doggy style. Its appeal usually comes from angle, pressure, and a more controlled sense of closeness.

For most couples, the smartest way to try it is to start softer than expected. A little more support, a little less depth, and a slower rhythm usually make the position feel much better than trying to force the most dramatic version.

In the end, this position can be worth trying if you like rear-entry sex but want something that feels more grounded and more focused. Adjust the setup until it feels natural, and let comfort decide what version works best.

Frequently Asked Questions

  1. What is the bulldog sex position?
    The bulldog sex position is a lower, tighter rear-entry variation where the receiving partner leans farther forward and the penetrating partner stays close behind.

  2. Is the bulldog sex position the same as doggy style?
    Not exactly. It belongs to the same rear-entry family, but bulldog is usually lower, tighter, and more compressed than classic upright doggy style.

  3. Why do some couples like the bulldog position?
    Some couples like it because it can feel more intense, more stable, and easier to control once the angle feels right.

  4. How can you make the bulldog position more comfortable?
    A pillow under the hips or chest, slower pacing, better lube, and small angle adjustments usually help more than trying to force the position. You can also use a purpose‑built product like Meru, designed in a doggy‑style pose, to get familiar with the angle and pressure on your own.

  5. Can the bulldog sex position feel uncomfortable?
    Yes. It can feel too intense or awkward if the receiving partner is pushed too low, if the angle is too sharp, or if discomfort in the back, hips, or knees is ignored.

  6. Is the bulldog position beginner-friendly?
    It can be beginner-friendly in a softened version with more support, but it is usually easier to start with a gentler rear-entry setup first.

  7. What should you do if the angle feels wrong?
    Raise the torso slightly, add support, slow down, and adjust the hip position before deciding the position does not work for you.

About Xhentaidoll

Xhentaidoll doesn't just manufacture dolls. We believe that inside everyone lies an unspoken realm of fantasy — desires for companionship, passion, and connection that deserve to be brought to life with care. Meru The Succubus embodies that belief: she's not cold silicone, but a doorway to your own personal otherworld. We are committed to using fine craftsmanship, a deep respect for anime aesthetics, and a genuine understanding of what users truly want. The result isn't just a product — it's a character you can connect with, a companion you can talk to. Whether you're exploring physical sensation or seeking an intimate connection beyond the ordinary, Xhentaidoll wants to be a reliable, playful, and non‑judgmental partner on your journey. Welcome to our world — your fantasies deserve to be taken seriously.

const TAG = "spz-custom-popup"; const DISPLAY_TYPE = { POPUP: "PTT_POPUP" // 弹窗 }; const API = { LIST: `/api/storefront/promotion/placement/list`, // 获取弹窗列表 REPORT: `/api/storefront/promotion/placement/data/report` // 上报数据 }; const DISPLAY_DEVICE = { PC_AND_MOBILE: "PD_PC_MOBILE", // PC和移动端 PC: "PD_PC", // PC MOBILE: "PD_MOBILE" // 移动端 }; const REPORT_EVENT = { CLICK: "PE_CLICK", // 点击事件 IMPRESSION: "PE_IMPRESSION" // 曝光事件 }; class SpzCustomPopup extends SPZ.BaseElement { constructor(element) { super(element); this.popupList_ = []; // 弹窗数据 this.popupZIndex = 1050; // 弹窗层级 // 节流处理 每5s内多次点击 算一次点击上报 this.throttleReport = this.win.SPZCore.Types.throttle( this.win, (data) => { this.reportData(data) }, 5000 ) } static deferredMount() { return false; } buildCallback() { this.action_ = SPZServices.actionServiceForDoc(this.element); this.templates_ = SPZServices.templatesForDoc(this.element); this.xhr_ = SPZServices.xhrFor(this.win); this.setupAction_(); this.viewport_ = this.getViewport(); } mountCallback() { this.fetchData_(); } // 接口请求,获取数据 fetchData_() { const id = window.SHOPLAZZA.meta.page.template_type === 51 ? window.SHOPLAZZA.meta.page.resource_id : 0; return this.xhr_.fetchJson(API.LIST, { method: 'POST', body: { page_id: window.SHOPLAZZA.meta.page.template_type, placement_type: DISPLAY_TYPE.POPUP, discount_id: id } }).then((res) => { // 请求成功 执行render this.doRender_(res.list); }).catch((err) => { console.error(err); }); } // 渲染dom doRender_(data) { this.popupList_ = data || []; if (this.popupList_.length > 0) { this.popupList_.forEach((item) => { item.config = JSON.parse(item.config); }) } return this.templates_ .findAndRenderTemplate(this.element, { list: this.popupList_ }) .then((el) => { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); this.element.appendChild(el); }) .then(() => { // 遍历显示弹窗 this.popupList_.forEach((item) => { this.showPopup_(item); }); }) } showPopup_(popup) { // 展示弹窗 符合展示条件的弹窗 const $popup = document.querySelector(`#popup-${popup.id}`); $popup && SPZ.whenApiDefined($popup).then((api)=> { const isPC = this.viewport_.getWidth() >= 960; const isMobile = this.viewport_.getWidth() < 960; const isMatchPCDevice = popup.device === DISPLAY_DEVICE.PC_AND_MOBILE || popup.device === DISPLAY_DEVICE.PC; const isMatchMobileDevice = popup.device == DISPLAY_DEVICE.PC_AND_MOBILE || popup.device === DISPLAY_DEVICE.MOBILE; if((isPC && isMatchPCDevice) || (isMobile && isMatchMobileDevice)) { // 根据推送时间 延迟展示弹窗 setTimeout(() => { api.open(); }, popup.delay_seconds * 1000); } }) } // 上报数据 async reportData(data) { this.xhr_.fetchJson(API.REPORT, { method: "POST", body: { placement_id: data.placement_id, event: data.event } }); } setupAction_() { this.registerAction('handleTrack', async(invocation) => { // 如果是主题编辑器则不用处理 if(window.top !== window.self) { return; } const data = invocation.args; const event = data.event; // 点击上报 节流处理 if(event === REPORT_EVENT.CLICK) { await this.throttleReport(data); } else { this.reportData(data); } }); } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, `${ TAG }.${ name }`, data || {}); this.action_.trigger(this.element, name, event); } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } } SPZ.defineElement(TAG, SpzCustomPopup);
const TAG = "spz-custom-announcement"; const DISPLAY_TYPE = { ANNOUNCEMENT: "PTT_BANNER" // 公告栏 }; const API = { LIST: `/api/storefront/promotion/placement/list`, // 获取公告栏列表 REPORT: `/api/storefront/promotion/placement/data/report` // 上报数据 }; const DISPLAY_DEVICE = { PC_AND_MOBILE: "PD_PC_MOBILE", // PC和移动端 PC: "PD_PC", // PC MOBILE: "PD_MOBILE" // 移动端 }; const REPORT_EVENT = { CLICK: "PE_CLICK", // 点击事件 IMPRESSION: "PE_IMPRESSION" // 曝光事件 }; const POSITION = { TOP: "PP_TOP", // 顶部 BOTTOM: "PP_BOTTOM" // 底部 } const MODE = { FIXED: "PM_FIXED", // 固定 NORMAL: "PM_SCROLLING" // 滚动 } const THEME_NAME = window.SHOPLAZZA.theme.merchant_theme_name; class SpzCustomAnnouncement extends SPZ.BaseElement { constructor(element) { super(element); this.announcementList_ = []; // 公告栏数据 } static deferredMount() { return false; } buildCallback() { this.action_ = SPZServices.actionServiceForDoc(this.element); this.templates_ = SPZServices.templatesForDoc(this.element); this.xhr_ = SPZServices.xhrFor(this.win); this.setupAction_(); this.viewport_ = this.getViewport(); } mountCallback() { this.fetchData_(); this.createAnnouncementDom_(); this.listenCartChange_(); } fetchData_(type = '') { const id = window.SHOPLAZZA.meta.page.template_type === 51 ? window.SHOPLAZZA.meta.page.resource_id : 0; return this.xhr_.fetchJson(API.LIST, { method: 'POST', body: { page_id: window.SHOPLAZZA.meta.page.template_type, placement_type: DISPLAY_TYPE.ANNOUNCEMENT, discount_id: id } }).then((res) => { this.announcementList_ = res.list || []; if (this.announcementList_.length > 0) { this.announcementList_.forEach((item) => { item.config = JSON.parse(item.config); }); } if(type === 'cartChange') { this.announcementList_.forEach((item) => { this.updateText_(item); }); } else { this.doRender_(this.announcementList_); } }).catch((error) => { console.error(error); }) } doRender_(data) { return this.templates_ .findAndRenderTemplate(this.element, { list: this.announcementList_ }) .then((el) => { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); this.element.appendChild(el); }) .then(() => { this.announcementList_.forEach((item) => { this.showAnnouncement_(item); }); }).then(() => { this.handleThemeCompatibility_(); }); } // 更新文案 updateText_(item) { const announcement = document.querySelector(`#announcement-${item.id}`); const announcementText = announcement.querySelectorAll('.announcement_text'); const textArr = item.config.text_discount.replace_texts; const textDom = textArr.map((text) => { return `${text}`; }).join(','); announcementText.forEach((text) => { text.innerHTML = textDom; }); } // 创建公告栏dom createAnnouncementDom_() { const isHero = /Hero/.test(THEME_NAME); const isEva = /Eva/.test(THEME_NAME); const headerEl = document.querySelector('[data-section-type="header"]'); const headerSticky = headerEl && SPZCore.Dom.computedStyle(this.win, headerEl).position === 'sticky'; // 创建滚动的底部公告栏 const announcementBottomContainer = document.createElement('div'); announcementBottomContainer.className = 'announcement__container_bottom bootstrap'; document.body.appendChild(announcementBottomContainer); // 创建固定的底部公告栏 const announcementBottomSticky = document.createElement('ljs-sticky'); announcementBottomSticky.className = 'announcement__container_bottom-sticky'; announcementBottomSticky.setAttribute('layout', 'container'); announcementBottomSticky.setAttribute('position', 'bottom'); announcementBottomSticky.style.position = 'fixed'; announcementBottomSticky.style.bottom = '0'; announcementBottomSticky.style.left = '0'; announcementBottomSticky.style.right = '0'; announcementBottomSticky.style.zIndex = '1030'; document.body.appendChild(announcementBottomSticky); const announcementTopContainer = document.createElement('div'); announcementTopContainer.classList.add('announcement__container_top'); if (isHero) { announcementTopContainer.classList.add('announcement__container_top_zIndex_1030'); } announcementTopContainer.classList.add('bootstrap'); document.body.insertBefore(announcementTopContainer, document.body.children[0]); const announcementTopFixedContainer = document.createElement('div'); announcementTopFixedContainer.classList.add('announcement__container_top-fixed'); if (isHero) { announcementTopFixedContainer.classList.add('announcement__container_top_zIndex_1030'); } announcementTopFixedContainer.classList.add('bootstrap'); const insertBeforeElement = headerSticky ? headerEl : document.body; insertBeforeElement.insertBefore(announcementTopFixedContainer, insertBeforeElement.children[0]); if (isEva) { const evaHeader = document.querySelector('header.header'); const isEvaMaskHeader = evaHeader && SPZCore.Dom.computedStyle(this.win, evaHeader).position === 'absolute'; let fixedBannerTopContainer = document.querySelector('.announcement__container_top-fixed'); if (isEvaMaskHeader) { if (fixedBannerTopContainer) { fixedBannerTopContainer.remove(); } const newBanner = document.createElement('div'); newBanner.className = 'announcement__container_top-fixed bootstrap'; document.body.insertBefore(newBanner, document.body.firstChild); fixedBannerTopContainer = newBanner; } else { if (!headerEl) return; const observer = new MutationObserver(() => { const isSticky = SPZCore.Dom.computedStyle(this.win, headerEl).position === 'sticky'; if (!isSticky) return; const isTopFixedAnnouncementInHeader = headerEl.querySelector('.announcement__container_top-fixed'); if (isTopFixedAnnouncementInHeader) return; const announcementTopFixedContainer = document.querySelector('.announcement__container_top-fixed'); if (announcementTopFixedContainer) { announcementTopFixedContainer.remove(); headerEl.insertBefore(announcementTopFixedContainer, headerEl.children[0]); observer.disconnect(); } }); observer.observe(headerEl, { attributes: true, attributeFilter: ['style', 'class'] }); } if (headerSticky && !isEvaMaskHeader && fixedBannerTopContainer) { fixedBannerTopContainer.style.position = 'relative'; fixedBannerTopContainer.style.zIndex = '29'; } } } // 展示公告栏 showAnnouncement_(item) { const announcement = document.querySelector(`#announcement-${item.id}`); const announcementBottomContainer = document.querySelector('.announcement__container_bottom'); const announcementBottomSticky = document.querySelector('.announcement__container_bottom-sticky'); const announcementTopContainer = document.querySelector('.announcement__container_top'); const announcementTopFixedContainer = document.querySelector('.announcement__container_top-fixed'); const isPC = this.viewport_.getWidth() >= 960; const isMobile = this.viewport_.getWidth() < 960; const isMatchPCDevice = item.device === DISPLAY_DEVICE.PC_AND_MOBILE || item.device === DISPLAY_DEVICE.PC; const isMatchMobileDevice = item.device == DISPLAY_DEVICE.PC_AND_MOBILE || item.device === DISPLAY_DEVICE.MOBILE; if((isPC && isMatchPCDevice) || (isMobile && isMatchMobileDevice)) { if (item.position === POSITION.BOTTOM) { if(item.mode === MODE.FIXED) { announcementBottomSticky && announcementBottomSticky.appendChild(announcement); } else { announcementBottomContainer && announcementBottomContainer.appendChild(announcement); } } else { if (item.mode === MODE.FIXED) { announcementTopFixedContainer && announcementTopFixedContainer.appendChild(announcement); } else { announcementTopContainer && announcementTopContainer.appendChild(announcement); } } this.reportData({ placement_id: item.id, event: REPORT_EVENT.IMPRESSION }); } } // 处理主题兼容 handleThemeCompatibility_() { try { const isBoost = /Boost/.test(THEME_NAME); const isHyde = /Hyde/.test(THEME_NAME); const isEva = /Eva/.test(THEME_NAME); const boostHeader = document.querySelector('.boost-header'); const fixedBannerTopContainer = document.querySelector('.announcement__container_top-fixed'); const notFixedBannerTopContainer = document.querySelector('.announcement__container_top'); const headerEl = document.querySelector('[data-section-type="header"]'); const headerSticky = headerEl && SPZCore.Dom.computedStyle(this.win, headerEl).position === 'sticky'; const header = document.querySelector('.header__fixed') || document.querySelector('.header__wrapper'); const headerFixed = header && SPZCore.Dom.computedStyle(this.win, header).position === 'fixed'; const handleScroll = SPZCore.Types.throttle(this.win, () => { if (isHyde) { if (header && headerSticky) { header.style.marginTop = `${fixedBannerTopContainer.offsetHeight}px`; } else { notFixedBannerTopContainer.style.marginTop = `${fixedBannerTopContainer.offsetHeight}px`; } } if (isEva) { const evaHeader = document.querySelector('header.header'); const isEvaMaskHeader = evaHeader && SPZCore.Dom.computedStyle(this.win, evaHeader).position === 'absolute'; if (!isEvaMaskHeader) return; if (evaHeader.classList.contains('header__fixed')) { evaHeader.style.marginTop = `${fixedBannerTopContainer.offsetHeight}px`; } else { notFixedBannerTopContainer.style.marginTop = `${fixedBannerTopContainer.offsetHeight}px`; } if(document.documentElement.scrollTop === 0) { evaHeader.style.marginTop = '0'; } } if (headerSticky) return; if (headerFixed) { header.style.marginTop = `${fixedBannerTopContainer.offsetHeight}px`; } else { const observer = new MutationObserver((mutationsList, observer) => { for (const mutation of mutationsList) { if (mutation.type === 'childList' && fixedBannerTopContainer.childElementCount > 0) { notFixedBannerTopContainer.style.marginTop = `${fixedBannerTopContainer.offsetHeight}px`; observer.disconnect(); // 停止观察 break; } } }); // 开始观察 fixedBannerTopContainer 的子节点变化 observer.observe(fixedBannerTopContainer, { childList: true, subtree: true }); // 初始检查 if (fixedBannerTopContainer.childElementCount > 0) { notFixedBannerTopContainer.style.marginTop = `${fixedBannerTopContainer.offsetHeight}px`; } if(header) { header.style.marginTop = '0'; } } if (isBoost) { fixedBannerTopContainer.style.zIndex = '1031'; if (boostHeader && boostHeader.classList.contains('header__fixed')) { boostHeader.style.marginTop = `${fixedBannerTopContainer.offsetHeight}px`; } else { notFixedBannerTopContainer.style.marginTop = `${fixedBannerTopContainer.offsetHeight}px`; } } }, 16); window.addEventListener('scroll', handleScroll); window.dispatchEvent(new Event('scroll')); } catch (error) { console.error('error', error); } } // 上报数据 async reportData(data) { // 如果是主题编辑器则不用处理 if(window.top !== window.self) { return; } this.xhr_.fetchJson(API.REPORT, { method: "POST", body: { placement_id: data.placement_id, event: data.event } }); } // 监听购物车变化事件dj.cartChange listenCartChange_() { SPZUtils.Event.listen(document, 'dj.cartChange', (event) => { this.fetchData_('cartChange'); }); } setupAction_() { this.registerAction('handleClose', (invocation) => { const data = invocation.args; const id = data.id; const announcement = document.querySelector(`#announcement-${id}`); announcement && SPZCore.Dom.removeElement(announcement); window.dispatchEvent(new Event('scroll')); }); this.registerAction('handleJumpLink', (invocation) => { const data = invocation.args; if(!data.show_url) return; data.url && window.open(data.url, data.open_new_window ? '_blank' : '_self'); this.reportData({ placement_id: data.id, event: REPORT_EVENT.CLICK }); }); } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, `${ TAG }.${ name }`, data || {}); this.action_.trigger(this.element, name, event); } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } } SPZ.defineElement(TAG, SpzCustomAnnouncement);