This website uses cookies and similar technologies to collect information you provide and information about your interactions with our sites to improve your experience, analyze performance and traffic on our website and assist our marketing efforts and customer service. We may share this information with our third-party partners. You can change your cookie preferences here. By continuing to browse, you agree to our use of these tools in accordance with our Privacy Notice and you agree to the terms of our Terms of Service.
We have set up Qualaroo as a destination, and the tag is running fine. However we have identified a problem. We’re calling identify() from the server side which means the Qualaroo tag does not receive the traits and id payload via Segment’s _kiq.push() call, precisely because we are firing identify from the server-side.
As a workaround to this issue we were considering adding a custom source function in order to trigger the identify call on the client side. We would use the page event to trigger the identify call. Something like this:
async function onPage(event, settings) {
let eventBody = request.json();
Segment.identify({
userId: eventBody.userId
});
}
Question: is this possible? If so, are there any issues or risks with this approach?
Out of curiosity, is there a reason you’re preferring to fire Identify from the server side rather than client side at the moment?
I’m not considered a technical resource so I can’t verify that the code you provided is correct. From my understanding looking at the documentation for Qualaroo it appears it’s a device-mode connection which may mean the client-side tracking is necessary via Analytics.js (Step 5 of the “Getting Started” docs show analytics.js as how Segment operates for Qualaroo).
With that being said, I’ll have to verify with a more technical counterpart whether server-side tracking like this for Qualaroo is possible and/or if the code you provided is correct. It may be worth reaching out to friends@segment.com as well to see if they may be able to help.
More generally though, client-side tracking tends to paint a more robust picture of customer interactions with your web properties but can be affected by ad-blockers or browser extensions. Whereas server-side we recommend for mission-critical events like conversions.
Out of curiosity, is there a reason you’re preferring to fire Identify from the server side rather than client side at the moment?
I’m not considered a technical resource so I can’t verify that the code you provided is correct. From my understanding looking at the documentation for Qualaroo it appears it’s a device-mode connection which may mean the client-side tracking is necessary via Analytics.js (Step 5 of the “Getting Started” docs show analytics.js as how Segment operates for Qualaroo).
With that being said, I’ll have to verify with a more technical counterpart whether server-side tracking like this for Qualaroo is possible and/or if the code you provided is correct. It may be worth reaching out to friends@segment.com as well to see if they may be able to help.
More generally though, client-side tracking tends to paint a more robust picture of customer interactions with your web properties but can be affected by ad-blockers or browser extensions. Whereas server-side we recommend for mission-critical events like conversions.
Hey @Andrew Rawson - that’s a fair question. We chose server side because the implementation was more straightforward and required less plumbing. We could certainly move the identify call to client side, or add it, but just exploring if there are any other options.