generated: '2026-08-12'
method: searched
source: https://help.poptin.com/en/article/dom-events-how-it-works-1e32jhj/
sources:
- https://help.poptin.com/en/article/dom-events-how-it-works-1e32jhj/
- https://help.poptin.com/en/article/can-i-track-poptin-views-poptinvisiblepoptinid-callbacks-1l74pue/
- https://cdn.popt.in/pixel.js
note: >-
Poptin's developer surface is a CLIENT-SIDE one. There is no server API to call; the
product is delivered as a hosted embed script that renders popups, bars and forms into
the host page, fires DOM CustomEvents, and calls named global callbacks. Everything
below is documented by Poptin in its own help center — nothing here is inferred.
loader:
name: pixel.js
url: https://cdn.popt.in/pixel.js
snippet: ''
params:
- name: id
description: the Poptin account/site install identifier
- name: 'for'
description: install context (observed value "site")
versioned: false
note: unpinned — see packages/poptin-packages.yml for why that matters
families:
- family: rendered-surfaces
description: Surface types the embed renders into the host page.
components:
- name: Lightbox
- name: Bar
- name: Sidebar
- name: FullScreen
- name: Mobile
- name: Embedded form
note: inline form embedded into page markup
- name: Gamified popup
note: exposes prize_label on submit events
- family: dom-events
description: >-
CustomEvents dispatched on `document`, listenable from any tag manager or first-party
script. Added 2023-03-21 per the changelog.
listener_example: |
document.addEventListener("poptinSubmit", function(event){
console.log(event.detail);
}, false);
components:
- name: poptinView
fires_when: a poptin / form is viewed
- name: poptinClose
fires_when: a poptin is closed from the X button or the Close button
- name: poptinSubmit
fires_when: a poptin / form is submitted from the Submit button or a Link button
- name: couponCopy
fires_when: a coupon button is clicked
event_detail_fields:
- field: detail.poptin_id
description: unique popup/form ID
- field: detail.poptin_name
description: name of the popup/form
- field: detail.poptin_target
description: 'lead | click | social_proof'
- field: detail.poptin_type
description: 'Bar | Sidebar | Lightbox | Mobile | FullScreen'
- field: detail.account_id
description: Poptin user account ID
- field: detail.event_name
description: event type identifier
- field: detail.button_text
description: text of the Submit/Link button that was clicked
- field: detail.coupon_code
description: coupon code that was copied
- field: detail.prize_label
description: prize label (gamified popups only)
- field: detail.shopify.*
description: >-
Shopify product context — button_text, product_url, product_name, product_id,
variant_id, buttons_action
- family: global-callbacks
description: >-
Named global functions the embed invokes if they are defined ABOVE the install code,
inside the same custom HTML tag. The pre-DOM-events integration path; still documented.
components:
- name: poptinVisible
signature: function poptinVisible(poptin_id) { }
fires_when: a poptin is displayed
- name: onpoptinClose
signature: function onpoptinClose(poptin_id) { }
fires_when: a poptin is closed
- name: onpoptinSubmit
signature: function onpoptinSubmit(poptin_id) { }
fires_when: a poptin form is submitted
dom_hooks:
- selector: '.poptin-popup[data-poptin-id=""]'
description: root element of a rendered poptin, keyed by poptin_id
- selector: '.poptin-form-submit-button'
description: submit button inside a rendered poptin form
runtime_endpoints_observed:
note: >-
Endpoints the public embed script calls at runtime, extracted from the verbatim
https://cdn.popt.in/pixel.js served on 2026-08-12. These are UNDOCUMENTED internal
endpoints on the application host — recorded as observed fact, NOT as a published
contract. No OpenAPI is derived from them.
host: https://app.popt.in
paths:
- /api/display/
- /api/display/click/
- /api/display/conversion/
- /api/display/limitLogs/
- /api/display/validation-emails
- /api/display/shopify/check-product-collection/
- /api/display/shopify/get-price-rules/
- /api/display/shopify/product-recommendation/
- /api/display/shopify/save/browse-abandonment
- /api/display/wix/product-recommendation/
probe:
url: https://app.popt.in/api/display/limitLogs/
status: 401
content_type: application/json
fetched: '2026-08-12'