var track_event = cmg.s_coxnews.utilities.track_event;
// The simple scenario
$('.myLink').click(function () {
track_event(42, this,
['eVar61', 'prop61', 'a bit of data'],
'Clicked my link'
);
});
// A more complex situation
$('.myLink').click(function () {
var args = [42, this];
args.push(['eVar61', 'prop61', 'a bit of data']);
if ($(this).parent().is('.feature')) {
args.push(['eVar63', 'prop72', 'featured']);
}
args.push('Clicked my link');
track_event.apply(null, args);
});
store('userdata', {…my user data …});
var userdata = restore('userdata');
// OR
restore('userdata', function (data) { …do stuff with userdata… });var transform_config = [
['user.gender', 'gender'],
['user.birthday', 'age', function (birthday) {
var ts = Date.parse(birthday + 'T00:00:00'),
now = Date.now();
return Math.floor((now - ts) / (365.25*86400000));
}],
['user.primaryAddress.zip', 'zip']
];
var userdata_transform = transformer(transform_config);
var transformed = userdata_transform({
user: {
gender: 'm',
birthday: '1974-07-03',
primaryAddress: { street: '123 Main St.', zip: 30303 }
}
});
// returns { gender: 'm', age: 39, zip: 30303 }
[
[
int eVar,
int prop,
str or fn (prop_path or data transform/gatherer)
]
]
var var_config = [
[7, 7, function (data, raw_data) {
var signed_in;
if (raw_data) {
var action = util.resolver('action', raw_data) || '',
status = util.resolver('status', raw_data) || '';
signed_in = (action.indexOf('Signin') !== -1) && status === 'success';
} else {
signed_in = document.cookie.indexOf('ur_name') !== -1;
}
return signed_in ? 78 : 24;
}],
[3, 3, 'gender'], [4, 4, 'age'], [5, 5, 'zip']
];
// returns a function that given a data object // (typically a transformed one), will iterate the var_config, // perform any additional transforms, mappings or data gathering // and return an object containing eVar/prop values // to be (programmatically) set on cmg.s_coxnews via ($||_).extend. // eVar7 and prop7 will be set per the data function in var_config's // first entry, and so on, when userdata_setup is called var userdata_setup = var_setup(var_config);// userdata_setup's signature: function (data, raw_data, callback) {…// where data is the transformed data and callback is to be called with the resulting eVar/prop container // returns "eVar7,prop7,eVar3,prop3,eVar4,prop4,eVar5,prop5" var userdataTrackVars = track_vars(var_config);
"dependencies": {
"omniture_utilities": "git+ssh://vcs.ddtc.cmgdigital.com/git-repos/omniture_utilities.git"
}

