Opinionlab invite use the following javascript extension
window.oo_invite = new OOo.Invitation({
/* REQUIRED - Asset identification */
pathToAssets: '/olab/', //Path to OpinionLab assets
/* OPTIONAL - Configuration */
responseRate: 50, //Percentage of users who will receive the invitation
repromptTime: 7776000, //90 days in seconds
where responseRate is set to the percentage of user who receive the invitation. I can go into the tag template and modify the following section to include a call to utag.link if the invite promote executes...I believe j = d.$('oo_launch_prompt');
function y() {
var a = d.$('oo_invitation_prompt');
if (a) {
var b = d.$('oo_container');
this.showPrompt(b);
return
}
var c = window.XMLHttpRequest ? new XMLHttpRequest() : new window.ActiveXObject("Microsoft.XMLHTTP"),
e = this,
f = document.createElement('link'),
g;
c.onreadystatechange = function () {
if (c.readyState !== 4) {
return
}
e.showPrompt(c.responseText)
};
c.open("GET", this.options.pathToAssets + this.options.promptMarkup, true);
c.send(null)
utag.link({surveyInvite:olabInvite});
}
function z(a, b) {
var c = document,
e = typeof a === 'string' ? c.createElement('div') : a,
f = c.createElement('div'),
g, h, i = this.options,
j;
f.id = 'oo_invitation_overlay';
e.id = 'oo_container';
e.style.visibility = 'hidden';
if (typeof a === 'string') {
e.innerHTML = a;
c.body.appendChild(e)
}
e.appendChild(f);
j = d.$('oo_launch_prompt');
if (i.companyLogo) {
g = new Image();
g.src=i.companyLogo;
d.$('oo_company_logo').appendChild(g)
}
d.addEventListener(j, 'click', b.bind(this), false);
if (i.clickCallbacks) {
if (typeof i.clickCallbacks.yes === 'function') {
d.addEventListener(j, 'click', function () {
i.clickCallbacks.yes()
}, false)
}
if (typeof i.clickCallbacks.no === 'function') {
d.addEventListener(d.$('oo_no_thanks'), 'click', function () {
i.clickCallbacks.no()
}, false)
}
}
if (i.neverShowAgainButton) {
h = d.$('oo_never_show');
h.style.visibility = 'visible';
d.addEventListener(h, 'click', this.killPrompt.bind(this), false)
}
if (d.Browser.IE && !window.XMLHttpRequest) {
f.style.position = 'absolute';
f.style.width = Math.max(document.documentElement.clientWidth, document.body.offsetWidth) + 'px';
f.style.height = Math.max(document.documentElement.clientHeight, document.body.offsetHeight) + 'px';
e.style.position = 'absolute'
}
e.style.visibility = 'visible';
e.style.display = 'block';
or I could setup a split segmentation extension and use that to set a cookie. Then create a copy of the olab tag and only load when the cookie value is present. Map the current extension to the new tag linked to the load rule and change the responseRate: to 100%. Then I could simply map the cookie value to an omniture variable to record # of times and people that receive the invite.
Which method would be preferred? Is there a better way to do this?
... View more