Skip to content
  • There are no suggestions because the search field is empty.

Frequently Asked Questions

Common questions and answers about the OIR SDK.

 

General Questions

What is the OIR SDK?

The OIR SDK is a lightweight JavaScript tracking SDK designed for modern browsers. It provides event tracking, user identification, and cross-tab synchronization.

Which browsers are supported?

  • Chrome 80+
  • Firefox 75+
  • Safari 13+
  • Edge 80+

How do I install the SDK?

The SDK can be installed via CDN. See the Installation Guide for details.

Is the SDK GDPR/CCPA compliant?

Yes, the SDK is designed with privacy in mind:

  • No PII collection by default
  • Configurable data collection levels
  • Secure cookie handling

Configuration Questions

What configuration is required?

The minimum required configuration:

  • oirid: Your publisher ID (from your account manager)
  • oirtyp: Pixel type identifier

Can I configure the SDK after initialization?

Yes, use the cfg() method:

window._oirtrk.cfg({
oirid: 'YOUR_INTEGRATION_ID',
oirtyp: 'YOUR_INTEGRATION_TYPE',
});
 

What is brandedLinkDomain?

The brandedLinkDomain option enables first-party tracking using your own domain. See Configuration Guide for setup instructions.


Event Tracking Questions

How do I track events?

Use the push() method:

_oirtrk.push([
'event',
{
event: 'event_name',
// event properties
},
]);
 

Can I queue events before the SDK loads?

Yes, events are queued automatically:

window._oirtrk = window._oirtrk || [];
_oirtrk.push(['event', { event: 'early_event' }]);

// SDK loads later and processes queued events
 

How do I set global custom data?

Use the set command:

_oirtrk.push(['set', 'sessionId', 'abc123']);

// Or multiple values
_oirtrk.push(['set', { sessionId: 'abc123', userId: 'user_456' }]);
 

What events should I track for e-commerce?

See the E-commerce Events guide for the complete list including:

  • view_item_listview_itemselect_item
  • add_to_cartremove_from_cartview_cart
  • begin_checkoutadd_shipping_infoadd_payment_info
  • purchaserefund

User Identification Questions

How are Anonymous IDs generated?

Anonymous IDs are generated automatically when the SDK initializes. This browser-based identifier is used to track visitors across sessions and tabs.

Can I set my own custom ID?

Yes, use the global custom data feature to set custom identifiers for your own purposes:

_oirtrk.push(['set', 'customId', 'your-custom-id']);
_oirtrk.push(['set', 'puid', '12345']);
 

See the Global Custom Data Guide for more details.

When should I call identify?

Call identify when:

  • User logs in
  • User signs up
  • User provides information during checkout
  • User updates their profile

Cross-Tab Questions

How does cross-tab sync work?

The SDK automatically coordinates across browser tabs using localStorage. Only one tab performs critical operations, and results are shared.

Do I need to configure cross-tab sync?

No, it works automatically without configuration.

What happens if localStorage is unavailable?

The SDK falls back gracefully to single-tab mode.


Performance Questions

Does the SDK impact page load?

No, the SDK is designed for minimal impact:

  • Loads asynchronously
  • Minimal initialization time
  • Non-blocking event tracking

How many network requests does the SDK make?

One request per event. Events are sent immediately using fetch with keepalive.


Troubleshooting

Events are not tracking

Check:

  1. SDK is initialized (window._oirtrk.cfg() called)
  2. Required configuration set (oirid and oirtyp)
  3. Browser console for errors
  4. Network connectivity

Anonymous ID is not persisting

Check:

  1. localStorage/cookies are enabled
  2. Browser privacy settings
  3. Domain configuration

Cross-tab sync not working

Check:

  1. localStorage is available
  2. Tabs are on the same domain
  3. Browser supports required features

SDK is not loading

Check:

  1. Script tag is correct
  2. CDN is accessible
  3. No ad blockers blocking

Getting Help

Where can I find more documentation?

How do I report a bug?

Contact your account manager with:

  • SDK version
  • Browser and version
  • Steps to reproduce
  • Console errors

How do I request a feature?

Contact your account manager with your use case and requirements.