We'll look at how you go about requesting an extension to the QProtocol schema.
QProtocol has a standard set of events and event fields, which can be extended with client-specific events and event fields.
WARNING: Without a schema extension any custom events you emit will not be collected by Qubit and will therefore not be available in the Qubit platform for use in building experiences or segments or to deliver reporting. In addition, we will reject any custom fields added to an event and the whole event will be lost.
Please refer to the outline process guidance for requesting schema extensions.
All requests should be sent to your CSM.
INFO: Any custom events you require must be namespaced. In most cases, this should be your property name, without spaces and in lowercase and the name of the custom event, e.g. myproperty.ecView
, anotherproperty.myCustomEvent
. This convention must be used consistently for all the custom events you wish to emit.
When extending QProtocol with new events, it is imperative that checks are performed to ensure that references to events in your experience or segment code have been written in a way that will support the new event name:
Specifically, events that were bound to the event name, will need to be converted from this:
uv.on('ecView', event => {})
to a namespace specific convention:
uv.on('namespace.ecView', event => {})
or a namespace agnostic approach using regular expressions:
uv.on(/ecView/, event => {})
INFO: Once a new field has been added, it can't be updated. It can only be deprecated.
To extend an event with a custom field, please share the following information with your CSM:
accNo
and not accno
or acc_No
or acc_no
As an example, let's say you want to add a custom value about the visitor's favorite color inside the ecUser
event. You should provide the following information: