Widget Implementation -- oc.min.js

Last modified by Admin User on 2024/10/09 19:08


 In order to identify users and track activity, widgets must be embedded on every page of your web site .

These widgets, specific to your site(s), and directions for placement are provided in the Widget Builder.

ONEcount Library/Tracker

This javascript snippet controls gating/access, cookie setting, and handles web tracking_._

Access protection: Pages or sections of pages that are defined as a resource in ONEcount and that require registration/ signup are handled by this widget. If a resource is being accessed and the user that is trying to access it is not logged in or doesn't have access to that particular resource, then they will be directed to the lookup/ login page (or if lookup/login is set to "off", to the registration form enabled with progressive lookup functionality) where they can log in or complete registration.

This widget also allows users who have clicked on a smartlink* to automatically be logged in to ONEcount, as well as users identified by a ONEcount cookie-sync with other third-party identification systems you may use.  In either case, ONEcount will identify the user and set a cookie for her/him. Any subsequent action by that user on the site will then be tracked and attributed to that user (via tracking widget). These users are included in statistics for Known Users. Note that if a user goes directly to the website (not directed there by a smartlink) and is NOT logged in, he/she will NOT be identified and tracked as a Known User. A user must be logged in to be identified.

This widget also tracks all web activity.

ONEcount Library/Tracker Placement:

The main ONEcount widget, (oc.min.js) is responsible for loading most of the code that ONEcount uses when a user visits your web site. It also takes the first step in identifying visitors to your web site, so it’s important it be placed properly on the site.

Tag management platforms can be used as long as you can control where the ONEcount widget loads. Because order and placement is often difficult for users to configure, we recommend placing the ONEcount widget directly on the page, as the first element in the document <HEAD>. For further reading on fun with Google Tag Manager, read here.

ONEcount uses first-party cookies to track user behavior and target users. There are two main cookies that are important here: the OCID cookie, which identifies a user who exists as a user in the ONEcount database (ie., a “known” user), and the tmpcookie, which is a tracking cookie assigned to all users, known and unknown. If a user has a tmpcookie in their browser, ONEcount can track and target the user. If the user also has an OCID cookie in their browser, ONEcount can match that browser to a record in your database.

These cookies exist in two domains: the “local” domain for your web site or one of your web sites, and the “central” domain (onecount.net). ONEcount is designed for multi-site identification; a user who logs in on your Site A, can also be logged in on your Site B via the central domain cookie.

When the page loads, the ONEcount widget checks the local domain for the tmpcookie. If the user is visiting your site for the first time, he or she may not have a local domain tmpcookie. The ONEcount widget then checks the ONEcount central domain (onecount.net) to see if the user has a first-party tmpcookie in that domain. If there is a tmpcookie in the central domain, the ONEcount widget reloads the page and sets a tmpcookie in the local domain. When a user is identified through a registration, cookie-sync or link-click, the OCID cookie is created in both the local and central domains during the subsequent page load.

**Please note that these central domain cookies are customer-specific, and we do not share those cookies between customers.

The main ONEcount widget is as follows:

<script id="oc-widget-main" src="https://validate.onecount.net/js/oc.min.js#%%%%%%%%%%%%%%%%"></script>

Most US-based customers will get the fastest response downloading the widget from our data centers in New Jersey and Illinois using the URL above. Customers with a presence outside the United States may experience lower latency by downloading the main ONEcount widget from our global CDN. To do that, simply substitute the hostname "cdn.onecount.net" for "validate.onecount.net in the URL above. As illustrated here:

<script id="oc-widget-main" src="https://cdn.onecount.net/js/oc.min.js#%%%%%%%%%%%%%%%%"></script>

The widget includes a unique customer identifier that will be unique to your installation of ONEcount. You should place the widget in the header of the root template of your web site(s) so it can load on every page you would like ONEcount to track.

The main widget should be placed in the document header, after the Title and Meta Keywords tags so that these values can be available to the ONEcount widget when a user visits a page.

If you are using any third-party tracking or measuring pixels (ie., Google Analytics, Adobe,  etc.), you should place these pixels after the ONEcount pixel.

This is to avoid double-counting page views from first time visitors.

In other words, the following order:

<HTML>
<HEAD>
<TITLE>title</TITLE>
Google Analytics Widget
ONEcount Widget

Would result in Google Analytics recording two page impressions for a first-time site visitor, because GA would count the initial load, and then record an additional page load after the redirect.

This order:

<HTML>
<HEAD>
<TITLE>title</TITLE>
ONEcount Widget
Google Analytics Widget

Will allow ONEcount to reload the page for first-time visitors prior to the GA widget loading, resulting in a single impression.

If you're concerned about how the page reload impacts user experience, keep in mind two things:

1) The redirect only happens once per user, per device.

2) If the widget is placed properly, the user won't experience the redirect. As you can see from the placement above, the ONEcount widget is delivered prior to any content, so the user experience won't be interrupted.

3) The redirect is required in order to get around Apple's Intelligent Tracking Protection software, which limits the life-span of even first-party cookies that are set in Javascript. During the redirect, ONEcount's first-party cookies are set by the server, making them immune to ITP. For more info on this issue, click here.

Once the widget is placed on your pages, you will see a number of pixels load from the onecount.net domain each time the page loads. Most of these pixels load asynchronously, meaning in parallel, and should not impact your page load at all.

*A smartlink is any link that has parameters for identifying the user appended to the end of the URL. These parameters vary based on the email marketing platform you use (e.g. ONEcount's integrated Email Engine, Real Magnet/Magnet Mail, Exact Target, Silverpop, etc.) Upon clicking on a smartlink, two things will happen: 1) the user will be authenticated automatically for access-controlled content; and 2) the user will be identified in the system as a ONEcount user and a cookie will be set, allowing you to track as a Known user all activities across your online properties. *See Smartlinks and Other Form Linkouts documentation for more information on smartlinks.

NO LONGER USED: The following widget is no longer needed, 05/15/2022

Automation Widget

Automation scripts are snippets of javascript code that allow ONEcount to target actions (like ad target, popup target etc). This piece of javascript determines and outputs any automated action to the browser.

This snippet is placed inside head (<head></head>) and SHOULD BE PLACED AFTER any ad network slot definition code (DFP).

See Widget Bulder documentation for more information.

IVT Tracker and Noscript Tag

_The IVT tracker snippet identifies potential IVT traffic, and the noscript tag is needed to track requests when javascript is disabled. _

This snippet is placed inside body tag. Usually putting just before the end body tag (</body>) is advised.

See Widget Builder documentation for more information.

Banner Trackers

Banner widgets are used to track and report banner activity. The banner widgets also track whether banner ads are "in view" on the user's screen. This is accomplished by a specific pixel that "checks-in" with ONEcount every three seconds to report whether the banner is still in view. This URL (v_js.php) may appear in the lower-left of your browser screen each time it is called, making it appear that v_js.php is loading and potentially slowing down the loading of the web page. This is not the case. If you view the load time in the developer tools of your browser, you will see this pixel is firing repeatedly, usually taking less than 10ms. Also, this pixel fires asynchronously, meaning in parallel with other elements on the page. So there is no impact on site performance from this pixel.

There are two banner platforms supported within ONEcount: OpenX and DFP (Premium and Small Business).

Widget Builder documentation provides widgets and directions for both platforms.

ONEcount Pixel for Moat

ONEcount can collect ad viewability data from Moat's realtime pixel. In order to send data to ONEcount, Moat can fire a pixel like like that in the Widget Builder to send data to ONEcount.

Content Meta Tags

ONEcount uses content meta tags from your web pages to determine the type of content users are consuming. In order for ONEcount to understand the engagement users are having on your site, you should configure specific keywords in the meta tags in your web pages that represent what the content is about.

For example, if you have an article about swimming pools, you might use keywords like "pool," "swimming," "water," etc.

There are three ways to tell ONEcount what type of content is on your web page:

<meta name="oc:keywords" content="swimming,pool,swimming pool,water" />

<meta property="oc:keywords" content="swimming,pool,swimming pool,water" />

ONEcount will accept three different properties: keywords, og:keywords, and oc:keywords.

 

Search all Documentation:

Unknown macro: livesearch. Click on this message for details.

 Search System and Setup Information:

Unknown macro: pagetreesearch. Click on this message for details.

More System and Setup Information

ONEcount Cookies

Widget Implementation

Widget Builder

ONEcount Javascript Widgets

ONEcount Javascript Widget Changes

http://bos-jira01-cl01.onecount.net:8090/pages/viewpage.action?pageId=65735Configuration Manager

http://bos-jira01-cl01.onecount.net:8090/pages/viewpage.action?pageId=65735Smartlinks, Brand Codes, and Other Form Linkoutshttp://bos-jira01-cl01.onecount.net:8090/pages/viewpage.action?pageId=65735
ONEcount SSL and non-SSL Client Brand Pages

http://bos-jira01-cl01.onecount.net:8090/pages/viewpage.action?pageId=65735OpenX Zone Setup for Banner Tracking and Viewability

http://bos-jira01-cl01.onecount.net:8090/pages/viewpage.action?pageId=65735DFP Small Business – Create Key/Value Pair for Ad Targeting

http://bos-jira01-cl01.onecount.net:8090/pages/viewpage.action?pageId=65735DFP Premium – Create Key/Value Pair for Ad Targeting

http://bos-jira01-cl01.onecount.net:8090/pages/viewpage.action?pageId=65735Progressive Lookup

http://bos-jira01-cl01.onecount.net:8090/pages/viewpage.action?pageId=65735Embedding Forms in Web Pages

http://bos-jira01-cl01.onecount.net:8090/pages/viewpage.action?pageId=65735Overriding Lookup/Login Page Settingshttp://bos-jira01-cl01.onecount.net:8090/pages/viewpage.action?pageId=65735
Email Engine and Sender Score

http://bos-jira01-cl01.onecount.net:8090/pages/viewpage.action?pageId=65735Global Featureshttp://bos-jira01-cl01.onecount.net:8090/pages/viewpage.action?pageId=65735http://bos-jira01-cl01.onecount.net:8090/pages/viewpage.action?pageId=65751http://bos-jira01-cl01.onecount.net:8090/pages/viewpage.action?pageId=65751