Smit Shah

AppSumo: Everything says "My Campaign"

After signing up with AppSumo I noticed that my weekly emails all said "My Campaign" in the content analysis reports
This meant that the reports were not as informative as they could be

Upon talking to their support, I was told that the "issue" is on my website and not their system.

However, upon some digging what I realized is that every URL under the content analysis feature said "My Campaign" hence the confusion

To simply this, I decided to use my URLs as my Campaign Name making it easier to gain meaningful insights

After a few pages, it got boring and labor intensive, so I decided to hack AppSumo by injecting javascript through the browser's console

I tested this on chrome, but I am sure it will work with all browsers

To do this, hit F12
Click on Console
Paste the code below and hit ENTER

/* Load Form */
$(".sumome-contentanalytics-campaign-name").each(function(){
    var otd = $(this);
    $(otd).find("img").click();
})

/* Set Values */
$(".sumome-contentanalytics-campaign-name").each(function(){
    var otd = $(this);
    var URL = $(otd).closest("tr").find("td").eq(1).text();
    
    $(otd).find("input[name='value']").val(URL);
    
    console.log(URL);
})


/* Submit Form */
$(".sumome-contentanalytics-campaign-name").each(function(){
    var otd = $(this);
    $(otd).find("button[type='submit']").click();
})




Now, all you have to do is press next on the screen
Press the up arrow key on the console (which will bring the previously run code, which should be the code above) and hit enter again

It took me about 5 minutes to update all the URLs on my site

Maybe you can even take it a step further and make it click the "Next" buttons and loop itself



This also happens in HEATMAPS
To fix that, use the scripts below
/* Load Form */ 
$(".sumome-heatmaps-campaign-name").each(function(){ 
    var otd = $(this); 
    $(otd).find("img").click(); 
}) 

/* Set Values */ 
$(".sumome-heatmaps-campaign-name").each(function(){ 
    var otd = $(this); 
    var URL = $(otd).closest("tr").find("td").eq(1).text(); 
     
    $(otd).find("input[name='value']").val(URL); 
     
    console.log(URL); 
}) 


/* Submit Form */ 
$(".sumome-heatmaps-campaign-name").each(function(){ 
    var otd = $(this); 
    $(otd).find("button[type='submit']").click(); 
}) 





Thanks

Post your comment:

Please make sure your comment has relevant details.
                                                                                         
This is a personal weblog. The opinions expressed here represent my own and not those of my employer. For accuracy and official reference refer to MSDN/ TechNet/ BOL /Other sites that are authorities in their field. Me or employer do not endorse any tools, applications, books, or concepts mentioned on the site. I have documented my personal experience on this site. The information on this site may not be up to date or accurate at times, if you are not sure or have a question, please contact me to verify information.