User Experience Guard (UXG)

Oracle monitors third-party tag execution performance with an in-house tool called the User Experience Guard (UXG). The Oracle Data Cloud platform features two different versions of the UXG: one for the exchange (partner interface), and one for tag management (publisher interface).

UXG for exchange (partner interface)

UXG was originally designed to protect the page load time of data provider partner sites that provide data to the Oracle Data Cloud platform. Providing data to the platform requires the firing of third-party image pixels of partners that may not have a direct relationship with the data provider.

Latency of third-party pixels are monitored using UXG. This system regularly pings all pixels and measures the round-trip response time. If the average response time of a pixel exceeds the client's desired UXG threshold (e.g., 600 ms), that pixel is suspended until it returns to health (its average latency falls beneath the UXG threshold). Average response time is measured as a running average of the last seven measurements taken by the UXG system.

UXG for tag management (publisher interface)

UXG for tag management specifically accommodates a more flexible variety of settings. Clients typically have a trusted relationship with third-party partners whose tags need to be scheduled within the tag management system. For example, the tag management system supports a wider variety of tags (for example, image pixels, JavaScript and raw HTML code, versus only image pixels). A tag scheduled within tag management may have business critical uses such as conversion tracking or analytics reporting, so the publisher system offers more control with UXG than disabling tags.

To monitor and manage individual third-party tags, UXG provides the following features for latency management, latency monitoring, and tag resets:

  • Automatic timeouts: You can set an absolute timeout (in milliseconds) for every scheduled tag within the scheduling function.
  • Latency thresholds: You can set an average latency threshold that will alert you by email in the event that average load times exceed the set threshold.
  • Monitoring: The tag latency report provides trends and snapshot latency (as measured by the platform) for any given tag within the tag management service.

Latency management features

You can establish the following global tag latency settings:

  • Global Default Tag Avg. Latency Limit (ms): Prevents an individually monitored tag from being fired if its average latency exceeds the specified value. This setting is the default value used for all tags in the seat. If the Override: Tag Avg. Latency Limit (ms) is also set in a schedule, the more restrictive setting will be honored. This is primarily used when a client wants to enforce a global average latency threshold that all third-party tags must abide by.
  • Global Max Schedule Execution Time (ms): Prevents succeeding JavaScript tags from firing if the cumulative execution time of the preceding tags in the placement exceeds the specified value. This setting is not applied if there is only one tag in the placement or if the placement includes image tags only.
    • setTimeout("bkObj.clearDiv('bk_pl_139')",1000): This element prevents succeeding JavaScript tags from firing if the cumulative execution of the preceding tags exceed the specified value. The timeout threshold used in this example is 1,000 milliseconds (1 second) and is set using the Global Max Schedule Execution Time (ms). Upon opening the placement, the browser will sequentially call scheduled JS script tags until 1,000 milliseconds have elapsed. At the conclusion of 1,000 milliseconds, Oracle Data Cloud platform code collapses the individual placement div, preventing the browser from calling any additional tags. This setting prevents the placement from slowing down a page by loading tags that cumulatively exceed latency expectations but individually fall within latency standards. Each setTimeout latency setting corresponds to an individual tag management placement div (e.g., <div id="bk_pl_139"> or <div id="bk_pl_148">) as scheduled by the tag management administrator.

You can establish the following tag latency overrides:

  • Override: Tag Avg. Latency Limit (ms): Prevents an individually monitored tag from being fired if its average latency exceeds the specified value. This setting is the same as Global Default Tag Avg. Latency Limit (ms) but is only valid for the schedule in which the tag is placed. If conflicting values are set in Global Default Tag Avg. Latency Limit (ms) and Override: Tag Avg. Latency Limit (ms), the more restrictive setting will be honored. This is primarily used when a given schedule is set to fire on a sensitive page, or a page where stricter latency requirements are in place.
  • Override: Max. Schedule Execution Time (ms): Prevents succeeding JavaScript tags from firing if the cumulative execution time of the preceding tags in the placement exceeds the specified value. This setting does not apply if there is only one tag in the placement or if the placement includes image tags only. This setting is the same as Global Max Schedule Execution Time (ms) but is only valid for the schedule in which the tag is placed. If conflicting values are set in the global tag latency settings and in the tag latency overrides, the more restive setting will be honored.

Latency monitoring features

  • Global Tag Avg. Latency Warning (ms): When used in conjunction with "Send Alerts," this feature will send the account owner emails if a monitored tag has exceeded the specified value twice within the latency monitoring period. If the Send alerts? check box is not selected, this setting is ignored. This setting does not automatically disable tags, it only monitors them.
  • Send alerts?: Provides automated email alerts to the tag management administrator when third-party tags exceed the Global Tag Avg. Latency Warning (ms).
  • Report > Tag Latencies: Provides daily monitoring of minimum, maximum, and average latency for each tag scheduled.

The following diagram illustrates how tag latency events can trigger email alerts and move the tag into a flagged or suspended state.

UXG reset feature

The UXG uses the latency monitoring and setting features to also indicate the status of the tag on the Tags page. Two statuses indicate that your tags are experiencing problems firing:

  • Flagged
  • Suspended

If you are aware of the latency issues and resolved the problem, you can click the UXG Reset button on the Tags page. When you click UXG Reset, the monitoring for that particular day is reset and the flagged or suspended status should return to normal.

Learn more

Setting global tag latencies

Resetting the UXG for flagged or suspended tags

Scheduling a tag