Note about manual implementation: Campaign reporting is the most critical artifact of any digital marketing campaign. It is therefore exceptionally important for creative developers to master The Servo Rich Media API's intuitive reporting methods.
Overview of Custom Rich Media Reporting Methods
The Servo Rich Media API provides an interface for creative developers to implement custom reporting for three types of rich media events:
Counters or string values describing how end users intentionally interacted with the creative.
Counters or string values not related to user interaction and engagement.
Video play, pause, and percent of video played in quartiles: 25%, 50%, 75%, 100%.
Reporting Custom Engagements
Engagement events are reported to inform how end users intentionally interacted with a rich media creative.
Engagement events require special attention, mainly because they impact a critical rich media reporting metric called Engagement Rate that is automatically calculated by Servo.
Use the servo.report.engagement() method only for events related to intentional user interaction such as click, touchend, shake, etc. The touchstart should not be used as a trigger for servo.report.engagement() because it could cause unintentional (invalid) engagements to be reported.
To report other information and events not related to intentional user interaction, please use the other reporting methods below.
The servo.report.engagement() method accepts one parameter:
- key (string): The name of the event that will be displayed in Servo campaign reporting
Using servo.report.engagement() to Count Engagement Events
servo.report.engagement() acts as an automatic counter for the event named key.
Using servo.report.engagement() as a Counter
Reporting Custom Data
Data events are any arbitrary info to be included in campaign reporting that are not related to user interaction and engagement.
The servo.report.data() method accepts one parameter:
- key (string): The name of the event that will be displayed in Servo campaign reporting.
Using servo.report.data() to Count Non-Engagement Events
servo.report.data() acts as an automatic counter for the event named key.
In the above example, the servo.report.data() event is used to track a metric unrelated to user engagement — the total number of pages in the creative that the user viewed.
The servo.report.engagement() event is used to track the engagement events — in this case, the name of the last page that the user intentionally clicked to view. Also note how the name of the key value provided is generated on the fly using variable values; that is a perfectly valid use case.
Reporting Custom HTML5 Video Events
The servo.report.video() event is used to report on the following events related to HTML5 <video> tags.
- Video Start
- Video Pause
- Video play quartiles:
- Video play reached 25% of total video duration
- Video play reached 50% of total video duration
- Video play reached 75% of total video duration
- Video play reached 100% of total video duration
The servo.report.video(myVideoElement) method, accepts one parameter:
- myVideoElement (DOM Element Reference): a DOM reference to an HTML5 <video> tag.