Skip to content

Instantly share code, notes, and snippets.

@framingeinstein
framingeinstein / gist:23ae8cb77dd570ade771
Last active August 29, 2015 14:10
Adobe Analytics API Repsonse
REQUEST:
{
"reportDescription":{
"dateFrom":"2013-01-01",
"dateTo":"2013-11-16",
"reportSuiteID":"",
"segment_id":"53c059aee4b07cd3c4332163",
"metrics":[
{
"id":"bouncerate"
@framingeinstein
framingeinstein / BuildInnerBreakdownsRecursively-test.R
Created November 26, 2014 04:04
RSiteCatalyst BuildInnerBreakdownsRecursively Test script
library(devtools)
library(jsonlite)
library("RSiteCatalyst")
text <- '{"report":{"type":"ranked","elements":[{"id":"trackingcode","name":"External Campaign ID (cid)","classification":"Campaign Type"},{"id":"trackingcode","name":"External Campaign ID (cid)","classification":"Campaign Name"}],"reportSuite":{"id":"","name":""},"period":"Mon. 17 Nov. 2014 - Sun. 23 Nov. 2014","metrics":[{"id":"event31","name":"Emails Clicked (ET Total)","type":"number","decimals":0,"latency":0,"current":false},{"id":"event95","name":"Emails Clicked (ET Unique)","type":"number","decimals":0,"latency":0,"current":false},{"id":"event29","name":"Emails Delivered (ET Total)","type":"number","decimals":0,"latency":0,"current":false},{"id":"event30","name":"Emails Opened (ET Total)","type":"number","decimals":0,"latency":0,"current":false},{"id":"event94","name":"Emails Opened (ET Unique)","type":"number","decimals":0,"latency":0,"current":false},{"id":"event38","name":"Emails Sent (ET Total)","type":"number","decimals":0,"latency":0,"
@framingeinstein
framingeinstein / feed.js
Last active August 29, 2015 14:13
Recent Feed Items using Google Feed API
$.ajax({
url : document.location.protocol + '//ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=10&callback=?&q=' + encodeURIComponent("FEED_URL"),
dataType : 'json',
success : function (data) {
if (data.responseData.feed && data.responseData.feed.entries) {
$.each(data.responseData.feed.entries, function (i, e) {
console.log("------------------------");
console.log("title : " + e.title);
console.log("author : " + e.author);
console.log("description: " + e.description);
@framingeinstein
framingeinstein / geocode.R
Last active December 3, 2015 04:20
Geocodes ip address using R
#!RScript
#
# USAGE: RScript geocode.R --in=input.xlsx --out=output.xslx --ip=column_name_of_ip_address_field
#
initial.options <- commandArgs(trailingOnly = FALSE)
file.arg.name <- "--file="
script.name <- sub(file.arg.name, "", initial.options[grep(file.arg.name, initial.options)])
script.basename <- dirname(script.name)
script.in <- sub("--in=", "", initial.options[grep("--in=", initial.options)])
script.out <- sub("--out=", "", initial.options[grep("--out=", initial.options)])
@framingeinstein
framingeinstein / zip.sh
Created December 5, 2016 14:50
ZIP All cvs files in current working directory as individual zip files and remove cvs files
for i in *.csv; do zip -r $(echo "$i" | tr '.csv' '.zip') "$i"; rm -rf "$i"; done
@framingeinstein
framingeinstein / utils
Created January 18, 2017 21:47
Adobe Analytics UTILS
/**
* Utility function that can be used across pages... not AA dependent
*/
var UTILS = UTILS || ( function( $ ) {
function cloneArray( array) {
return array.slice(0);
}
function parseProductString ( products ) {
@framingeinstein
framingeinstein / DL Helper.js
Created January 19, 2017 15:58
Initialize Data Layer Helper for working with GTM style data layers with adobe analytics / DTM
window.ana = window.ana || {};
/**
* Utility function that can be used across pages... not AA dependent
*/
var UTILS = window.ana.UTILS || ( function( $ ) {
function cloneArray( array) {
return array.slice(0);
}
@framingeinstein
framingeinstein / examples.js
Last active February 3, 2017 20:31
Ecommerce Examples
//Visiting Cart page while adding product to empty cart
[
{
"pageName":"Store:checkout:shopping_cart",
"siteProperty":"AICPASTORE",
"siteSection":"Shopping Cart Page",
"siteSubSection":"TBD"
},
{
@framingeinstein
framingeinstein / ap.js
Created February 16, 2017 14:54
Adobe Plugins
/*
* Plugin: getVisitNum - version 3.0
*/
s.getVisitNum=new Function("tp","c","c2",""
+"var s=this,e=new Date,cval,cvisit,ct=e.getTime(),d;if(!tp){tp='m';}"
+"if(tp=='m'||tp=='w'||tp=='d'){eo=s.endof(tp),y=eo.getTime();e.setTi"
+"me(y);}else {d=tp*86400000;e.setTime(ct+d);}if(!c){c='s_vnum';}if(!"
+"c2){c2='s_invisit';}cval=s.c_r(c);if(cval){var i=cval.indexOf('&vn="
+"'),str=cval.substring(i+4,cval.length),k;}cvisit=s.c_r(c2);if(cvisi"
+"t){if(str){e.setTime(ct+1800000);s.c_w(c2,'true',e);return str;}els"
@framingeinstein
framingeinstein / aup.js
Created February 16, 2017 14:56
Adobe Utility Plugins
/*
* Utility Functions: apl, p_c, p_gh, split, replace, join
*/
s.apl=new Function("L","v","d","u",""
+"var s=this,m=0;if(!L)L='';if(u){var i,n,a=s.split(L,d);for(i=0;i<a."
+"length;i++){n=a[i];m=m||(u==1?(n==v):(n.toLowerCase()==v.toLowerCas"
+"e()));}}if(!m)L=L?L+d+v:v;return L");
s.p_c=new Function("v","c",""
+"var x=v.indexOf('=');return c.toLowerCase()==v.substring(0,x<0?v.le"
+"ngth:x).toLowerCase()?v:0");