Developers
In order to troubleshoot issues with your Web SDK, you can use verbose logging, the browser’s Network tab, or manually log events in the browser console.
Once verbose logging is enabled, you can add breakpoints and step through actions in the app to identify issues. Different procedures are required depending on whether or not you are diagnosing an initialization issue.
The procedure for enabling verbose logging is different depending on whether you are in a DEV
or PROD
environment.
If you are working in a DEV
environment, set logLevel
to verbose
. For more information about log levels, see SDK Configuration.
If you are working in a production environment and are using the snippet, you can set verbose logging in the browser:
mparticle.js
file.{}
to enable pretty print.window.mParticle.config
line which occurs prior to var mParticle
.mParticle.config.logLevel="verbose"
.You’ll need to do this each time the page is manually refreshed.
If you are working in a production environment, and are not using the snippet, you can set verbose logging in the browser:
You’ll need to do this each time the page is manually refreshed.
If mParticle successfully initializes and you need a simple way to enable verbose logging for all subsequent SDK actions:
mParticle.setLogLevel('verbose')
.This procedure turns on verbose logging for all subsequent SDK actions. For more information, see Custom Logger.
Use the Network tab to see the calls made to mParticle. In the network tab filter for mparticle
. If you are using a CNAME, type in part of the CNAME to find the mParticle events being logged.
Once filtered, look to see if an event is being logged and what the related status call is. You can view the headers and information related to the specific event such as the event name and event attributes. After an event is forwarded to a kit successfully, this will be indicated by an item sent to /Forwarding
.
With the Web SDK we can manually log events in the inspector console. The following events may be useful to log, depending on your issue:
mParticle.logPageView(‘Page Name’, {Attributes})
mParticlelogEvent(‘Event Name’, mParticle.EventType.Navigation, {custom attributes})
Commerce Events
mParticle.eCommerce.createProduct(‘product name’, sku, price)
mParticle.eCommerce.logProductAction({transaction attributes}, product)
The product
used in logProductAction
is the output of createProduct
.
Identify API
The Identify API is called automatically upon SDK initialization by the mParticle SDK. The SDK requires this call to succeed in order to establish an mParticle ID to associate with all data.
mParticle.Identity.login(identityRequest, identityCallback);
mParticle.Identity.logout({}, identityCallback);
mParticle.Identity.modify(identityRequest, identityCallback);
Session management
When a user launches your app, the mParticle SDK begins a new session. This session is maintained for as long as your app is in the foreground and all events logged during this time will be associated with the session. Timeout can be customized with: window.mParticle.config.sessionTimeout
Alias users
Aliasing is an advanced feature available with Profile Link or Profile Conversion strategies, and requires an mParticle customer representative to enable.
mParticle.Identity.createAliasRequest(sourceUser, DestinationUser);
mParticle.Identity.aliasUsers(aliasRequest)
Data Privacy Controls
mParticle gives you the data privacy control tools to manage your consent and privacy obligations under the European Union’s General Data Protection Regulation (GDPR) and the California Consumer Privacy Act (CCPA). For more information, see Data Privacy Controls.
mParticle.getDeviceId()
fetches the browsers device ID which can be used in Live Stream. This is helpful if the web site is production. mParticle.config
fetches the configuration object which includes helpful information. This is only available when using the snippet, as it is a window object which doesn’t exist in a self-hosted NPM environment.mParticle.Identity.getUser()
. Pass an MPID to getUser
to fetch a specific user, assuming the user has been seen before in cookies. If the user hasn’t been seen before, or if the MPID has been removed from cookies because the cookie grew too big, null
is returned. This also has the same additional methods as getCurrentUser
.mParticle.Identity.getCurrentUser()
returns a user object for the current mParticle user whom the SDK recognizes. This can be leveraged with additional methods, including:
isLoggedIn()
getMPID()
getUserAttributesList()
When you investigate issues involving kits, test the JavaScript integrations:
mparticle.js
. If you aren’t familiar with how to leverage Chrome debuggers or breakpoints, visit Chrome Developers Debug JavaScript.
Was this page helpful?