For the complete documentation index, see llms.txt.

Troubleshooting

When the SDK is not sending data as expected, use this page to identify probable causes and apply recommended fixes.

In order for Contentsquare to work, you need to make sure the following endpoints are not blocked by your network (VPN):

RequestEndpoint
Detail
Config filehttps://mobile-production.content-square.netSee Configuration
Experience Analytics data (EU)https://m.csqtrk.net
https://m.ba.contentsquare.net
https://m.aa.contentsquare.net
See Sending data
Experience Analytics data (US)https://m-aus1.contentsquare.net
https://m.bf.contentsquare.net
https://m.af.contentsquare.net
See Sending data
Product Analytics datahttps://mh.bf.contentsquare.netSee Product Analytics
Monitoringhttps://l.contentsquare.netUsed by the SDK to
send SDK monitoring analysis
in JSON format over HTTPS.
Session Replay data (EU)https://ka-aeu1.contentsquare.net
https://ka.ba.contentsquare.net
https://ka.aa.contentsquare.net
See Session Replay requests
Session Replay data (US)https://ka-aus1.contentsquare.net
https://ka.bf.contentsquare.net
https://ka.af.contentsquare.net
See Session Replay requests
Screenshot (EU)https://s.contentsquare.net
https://b.ba.contentsquare.net
https://b.aa.contentsquare.net
See Screenshot capture
Screenshot (US)https://s-aus1.contentsquare.net
https://b.bf.contentsquare.net
https://b.af.contentsquare.net
See Screenshot capture
Resources manager (EU)https://srm.ba.contentsquare.net
https://srm.aa.contentsquare.net
See Session Replay requests
Resources manager (US)https://srm.bf.contentsquare.net
https://srm.af.contentsquare.net
See Session Replay requests

When using Manual tag injection for dual context (WebView and Browser tracking on the same webpage), the SDK injects a script that may load after the page, causing the wrong tag to load in the WebView. Use the following solution:

Add a query parameter to the URL of the page you are loading in the WebView:

webView.loadUrl("https://www.example.com/?isWebView=1")

Then add it to the conditions in the page script itself:

function isWebView() {
return navigator.userAgent.indexOf('CS_WebView') !== -1 ||
typeof CSJavascriptBridge != 'undefined' ||
window.CS_isWebView ||
new URLSearchParams(window.location.search).get('isWebView') === '1';
}