How does data flow inside the Web SDK?
A correct Web SDK integration follows this order:
InsiderQueue receives data pushed from the website.
Data flows into Insider.insiderObject.
Data turns into hit or insert requests.
Requests are processed and stored in User Profiles.
How can we check if the Web SDK integration hierarchy is correct?
Make sure the sequence is:
InsiderQueue > Insider Tag > User data > Page data > type: 'init'
You can also follow the steps on Insider Onboarding Center > User Data Integration > Web SDK Integration.
Where should InsiderQueue and Insider Tag be placed in the HTML structure for best performance?
Both should be placed in the <head></head> tag. InsiderQueue must come before the Insider Tag to ensure pushes are captured.
Why does Insider.insiderObject remain empty or disappear even though InsiderQueue looks correct?
This usually happens if:
The Insider Queue initializes after the Insider Tag.
Another script clears or overwrites global objects.
Multiple page types (e.g., product + cart) are pushed at the same time.
Ensure the InsiderQueue is created before the Insider Tag loads, prevent overwriting global variables, and send only one page-type push per page.
Do we need to define InsiderQueue on each page?
Yes, if your website loads a new HTML document on each navigation, InsiderQueue must be defined on every page before the Insider Tag.
If your website is a SPA (Single Page Application), you should define InsiderQueue only once during the initial app load. After that, you only push data and route changes.
Why is type: 'init' important?
type: 'init' is the trigger that tells Insider Tag to process everything inside InsiderQueue and convert it into actual hit requests.
Without it:
No page view event is fired.
User data is not processed.
Page type is not registered.
No hit request is sent to the server.
No campaign is visible on the website.
The tag will appear as initialized: false.
In short, it is the final required push that activates the full Web SDK integration for that page.
What happens if we push multiple page types on the same page?
Only the last page type pushed before type: 'init' will be considered. Avoid multiple page types per page unless you are handling SPA route changes.
What kind of data can we send via the Web SDK?
You can send these data depending on your use case:
Page data, such as homepage, listing page, product page, cart page, and custom pages
User data, like user attributes, identifiers, preferences, and opt-in status
Commerce data, such as add_to_cart and remove_from_cart
Custom events
Is it mandatory to define all attributes?
No. None of the attributes are strictly required. However, identifiers such as uuid, email, or phone_number become required if you select them in your Identity Resolution Management settings. You can filter the required attributes on this page.
Is it secure to pass visitor data through the Web SDK?
Yes, it is secure. You can send PII (personally identifiable information) data through Web SDK because all data passed to the Web SDK remains in the browser and is only transmitted to Insider One via encrypted APIs. Nothing is stored in the browser.