<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
><channel><title>Renegade Internet</title> <atom:link href="http://www.renegadeinternet.com/feed/" rel="self" type="application/rss+xml" /><link>http://www.renegadeinternet.com</link> <description>We provide publishers and advertisers with excellent ad serving software.</description> <lastBuildDate>Fri, 27 Jan 2012 18:12:43 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.1.4</generator> <item><title>Share of Voice Reports</title><link>http://www.renegadeinternet.com/2012/01/share-of-voice-reports/</link> <comments>http://www.renegadeinternet.com/2012/01/share-of-voice-reports/#comments</comments> <pubDate>Tue, 24 Jan 2012 21:57:48 +0000</pubDate> <dc:creator>Mike Cherichetti</dc:creator> <category><![CDATA[AdvertPro]]></category> <category><![CDATA[AdvertServe]]></category> <category><![CDATA[reports]]></category><guid
isPermaLink="false">http://www.renegadeinternet.com/?p=352</guid> <description><![CDATA[Share of Voice You might have noticed that we added a share column to most of the reports with our version 2.5 update. What is that all about? In the online advertising industry, share of voice is used to represent the relative portion of ad inventory available to a single advertiser within a defined market ...]]></description> <content:encoded><![CDATA[<h1>Share of Voice</h1><p>You might have noticed that we added a <strong>share </strong>column to most of the reports with our version 2.5 update.  What is that all about?  In the online advertising industry, <strong>share of voice</strong> is used to represent the relative portion of ad inventory available to a single advertiser within a defined market over a specified time period.  So, basically, the <strong>share</strong> column shows you what percentage of impressions each of your advertisers received during a period of time.</p><h1>Example Report</h1><p>We have gone a step further by making share of voice available for more than just advertiser reports.  For example, what if you wanted to know what percentage of impressions were from Firefox users today?  Sure, you could always get out your calculator and figure it out, but now you don&#8217;t have to!</p><p><img
src="http://www.renegadeinternet.com/wp-content/uploads/2012/01/share_report.png" alt="Browser Share of Voice" /></p><p>Right away you can see that about 36.63% of visitors today were using Firefox without even thinking about reaching for your calculator.  You&#8217;re welcome!  Remember, the share column is available for almost all other report types as well (such as geography or custom fields), so you can now very easily compare impression distribution between many different elements and dimensions.</p> ]]></content:encoded> <wfw:commentRss>http://www.renegadeinternet.com/2012/01/share-of-voice-reports/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>API: JSON vs XML</title><link>http://www.renegadeinternet.com/2012/01/api-json-vs-xml/</link> <comments>http://www.renegadeinternet.com/2012/01/api-json-vs-xml/#comments</comments> <pubDate>Tue, 24 Jan 2012 21:33:36 +0000</pubDate> <dc:creator>Mike Cherichetti</dc:creator> <category><![CDATA[AdvertPro]]></category> <category><![CDATA[AdvertServe]]></category> <category><![CDATA[api]]></category> <category><![CDATA[json]]></category><guid
isPermaLink="false">http://www.renegadeinternet.com/?p=333</guid> <description><![CDATA[What is JSON? JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. Based on a subset of the JavaScript Programming Language, JSON is a text format that is completely language independent but uses conventions that are familiar ...]]></description> <content:encoded><![CDATA[<h1>What is JSON?</h1><p><strong>JSON </strong>(JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. Based on a subset of the JavaScript Programming Language, <strong>JSON </strong>is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages, including C, C++, C#, Java, JavaScript, Perl, Python, and many others. These properties make <strong>JSON </strong>an ideal data-interchange language.</p><h1>JSON vs XML</h1><p>You might already be using our API with XML so why might you want to switch to JSON?  In most cases there really is no reason to switch aside from personal preferences.  Many people find XML very verbose and clumsy to work with while JSON is very compact and easier to read and write.  If you are more comfortable and productive with XML, then you should use XML.  Otherwise you can choose to use JSON instead if you feel like it is a better fit for you.</p><h1>Comparison</h1><p>So, you might be wondering, just how much more compact and readable is JSON compared to XML?  Here&#8217;s an example of the data returned when retrieving the information for a zone in both JSON and XML.</p><p><strong>JSON</strong></p><div
class="wp_syntax"><div
class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #009900;">&#123;</span>
  <span style="color: #3366CC;">&quot;id&quot;</span><span style="color: #339933;">:</span> <span style="color: #CC0000;">1</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">&quot;name&quot;</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;Top of Page / 728x90&quot;</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">&quot;group&quot;</span><span style="color: #339933;">:</span> <span style="color: #CC0000;">2</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">&quot;type&quot;</span><span style="color: #339933;">:</span> <span style="color: #CC0000;">1</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">&quot;size&quot;</span><span style="color: #339933;">:</span> <span style="color: #CC0000;">19</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">&quot;targeting&quot;</span><span style="color: #339933;">:</span> <span style="color: #009900;">&#91;</span>
    <span style="color: #CC0000;">4</span><span style="color: #339933;">,</span>
    <span style="color: #CC0000;">8</span>
  <span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">&quot;status&quot;</span><span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">&quot;recycle&quot;</span><span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">&quot;notes&quot;</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;&quot;</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">&quot;campaigns&quot;</span><span style="color: #339933;">:</span> <span style="color: #009900;">&#91;</span>
    <span style="color: #009900;">&#123;</span>
      <span style="color: #3366CC;">&quot;id&quot;</span><span style="color: #339933;">:</span> <span style="color: #CC0000;">3</span><span style="color: #339933;">,</span>
      <span style="color: #3366CC;">&quot;default&quot;</span><span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">,</span>
      <span style="color: #3366CC;">&quot;chain&quot;</span><span style="color: #339933;">:</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">,</span>
      <span style="color: #3366CC;">&quot;priority&quot;</span><span style="color: #339933;">:</span> <span style="color: #CC0000;">1</span><span style="color: #339933;">,</span>
      <span style="color: #3366CC;">&quot;status&quot;</span><span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">true</span>
    <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
    <span style="color: #009900;">&#123;</span>
      <span style="color: #3366CC;">&quot;id&quot;</span><span style="color: #339933;">:</span> <span style="color: #CC0000;">4</span><span style="color: #339933;">,</span>
      <span style="color: #3366CC;">&quot;default&quot;</span><span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">,</span>
      <span style="color: #3366CC;">&quot;chain&quot;</span><span style="color: #339933;">:</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">,</span>
      <span style="color: #3366CC;">&quot;priority&quot;</span><span style="color: #339933;">:</span> <span style="color: #CC0000;">1</span><span style="color: #339933;">,</span>
      <span style="color: #3366CC;">&quot;status&quot;</span><span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">true</span>
    <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">&quot;publishers&quot;</span><span style="color: #339933;">:</span> <span style="color: #009900;">&#91;</span>
    <span style="color: #CC0000;">1</span><span style="color: #339933;">,</span>
    <span style="color: #CC0000;">2</span>
  <span style="color: #009900;">&#93;</span>
<span style="color: #009900;">&#125;</span></pre></div></div><p><strong>XML</strong></p><div
class="wp_syntax"><div
class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;zone</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;1&quot;</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;Top of Page / 728x90&quot;</span> <span style="color: #000066;">group</span>=<span style="color: #ff0000;">&quot;2&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;1&quot;</span> <span style="color: #000066;">size</span>=<span style="color: #ff0000;">&quot;19&quot;</span> <span style="color: #000066;">targeting</span>=<span style="color: #ff0000;">&quot;000010001&quot;</span> <span style="color: #000066;">status</span>=<span style="color: #ff0000;">&quot;true&quot;</span> <span style="color: #000066;">recycle</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;notes</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;campaigns<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;campaign</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;3&quot;</span> <span style="color: #000066;">default</span>=<span style="color: #ff0000;">&quot;false&quot;</span> <span style="color: #000066;">chain</span>=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000066;">priority</span>=<span style="color: #ff0000;">&quot;1&quot;</span> <span style="color: #000066;">status</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;campaign</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;4&quot;</span> <span style="color: #000066;">default</span>=<span style="color: #ff0000;">&quot;false&quot;</span> <span style="color: #000066;">chain</span>=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000066;">priority</span>=<span style="color: #ff0000;">&quot;1&quot;</span> <span style="color: #000066;">status</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/campaigns<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;publishers<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;publisher</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;1&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;publisher</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;2&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/publishers<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/zone<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div><p>As you can see the JSON is actually slightly larger than the JSON in this case.  This is not typical, however, it is pretty clear that the JSON is much easier to read and understand.  Why does that matter?  You are writing programs to read the JSON right?  Well, if you find yourself tracing HTTP requests to view the data going back and forth between the API, trust me, I can tell you that JSON is much easier on the eyes!  It is also much nicer for those folks that like to dig and explore the API without reading the documentation <img
src='http://www.renegadeinternet.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><h1>The Verdict</h1><p>Having the option to choose between using JSON and XML is a good thing.  It gives you the flexibility to pick the right tool for the job.  Interested in learning more about JSON?  Head on over the official JSON web site at <a
href="http://www.json.org/" target="_blank">http://www.json.org/</a></p> ]]></content:encoded> <wfw:commentRss>http://www.renegadeinternet.com/2012/01/api-json-vs-xml/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>AdvertPro Version 2.5</title><link>http://www.renegadeinternet.com/2012/01/advertpro-version-2-5/</link> <comments>http://www.renegadeinternet.com/2012/01/advertpro-version-2-5/#comments</comments> <pubDate>Mon, 16 Jan 2012 20:58:09 +0000</pubDate> <dc:creator>Mike Cherichetti</dc:creator> <category><![CDATA[AdvertPro]]></category> <category><![CDATA[AdvertServe]]></category> <category><![CDATA[updates]]></category><guid
isPermaLink="false">http://www.renegadeinternet.com/?p=321</guid> <description><![CDATA[We are pleased to announce that AdvertPro version 2.5 has been released! Read on to find out more about new features and improvements. To obtain the update: visit our download site if you plan to install it yourself or request an update installation if you prefer to have us install it for you. Remember, you&#8217;ll ...]]></description> <content:encoded><![CDATA[<table
border="0" cellpadding="0" cellspacing="0" width="100%"><tr
valign="middle"><td
width="100%"><p><b>We are pleased to announce that AdvertPro version 2.5 has been released!</b></p><p> Read on to find out more about new features and improvements. To obtain the update: <a
href="https://services.renegadeinternet.com/download/" target="_blank">visit our download site</a> if you plan to install it yourself or <a
href="https://services.renegadeinternet.com/upgrade/" target="_blank">request an update installation</a> if you prefer to have us install it for you. Remember, you&#8217;ll need to have an up to date support contract to receive this update, so <a
href="https://services.renegadeinternet.com/license-renew/" target="_blank">renew today</a>!</p></td></tr></table><h1>Ad Server</h1><table
border="0" cellpadding="0" cellspacing="16" width="100%"><tr
valign="middle"><td
width="1%" nowrap="nowrap"><img
src="http://services.renegadeinternet.com/announce/2.5/images/Smartphones.jpg" border="0" alt="" style="float: left; padding-right: 16px" /></td><td
width="99%"><p><b>Mobile Targeting</b><br
/> We have added all of the most popular mobile operating systems and web browsers to our software targeting and reporting so if you&#8217;ve been waiting to start advertising apps to Android and iOS visitors on your web sites the wait is now over!</p></td></tr></table><table
border="0" cellpadding="0" cellspacing="16" width="100%"><tr
valign="middle"><td
width="99%"><p><b>Retargeting</b><br
/> Now you can retarget visitors who have previously viewed pages that have been tagged with segment pixels codes. For example, you might create segments for your advertisers home page, landing page, shopping cart and order confirmation pages. This creates a lot of exciting targeting possibilities, such as being able to target visitors that abandoned their shopping cart for a premium CPM.</p></td><td
width="1%" nowrap="nowrap"><img
src="http://services.renegadeinternet.com/announce/2.5/images/retargeting.jpg" border="0" alt="" style="float: right; padding-left: 16px" /></td></tr></table><table
border="0" cellpadding="0" cellspacing="16" width="100%"><tr
valign="middle"><td
width="100%"><p><b>Custom Targeting</b><br
/> When you have more than one custom field using exclusion you can now enter a special target value of {null_all} in any field to prevent campaigns from being shown when all fields combined have no value. You may also use {null} to only apply to individual fields. This can be useful when passing %%CUSTOM[1-10]%% values to third-party ad servers and you want to make sure their ads are only shown when you actually have custom field values to pass to them.</p></td></tr></table><table
border="0" cellpadding="0" cellspacing="16" width="100%"><tr
valign="middle"><td
width="99%"><p><b>Keyword Targeting</b><br
/> Now you can block or target campaigns when no keywords have been passed to the ad server by entering the special keyword {null} as a blocked or targeted keyword value, which can be useful when passing %%KEYWORDS%% values to third-party ad servers and you want to make sure their ads are only shown when you actually have keywords to pass.</p></td><td
width="1%" nowrap="nowrap"><img
src="http://services.renegadeinternet.com/announce/2.5/images/keywords.jpg" border="0" alt="" style="float: right; padding-left: 16px" /></td></tr></table><table
border="0" cellpadding="0" cellspacing="16" width="100%"><tr
valign="middle"><td
width="100%"><p><b>Frequency Capping</b><br
/> Previously the click and action frequency capping would still allow campaigns to be viewed by visitors after reaching the cap. The ad server would just not count repeat clicks or actions if they were capped like that. However, this is generally a waste of impressions, so we&#8217;ve decided to change it so that once the click or action cap is reached it won&#8217;t show the visitor the campaign again until those caps have expired. Basically the click and action capping work just like view capping does now.</p></td></tr></table><table
border="0" cellpadding="0" cellspacing="16" width="100%"><tr
valign="middle"><td
width="1%" nowrap="nowrap"><img
src="http://services.renegadeinternet.com/announce/2.5/images/html5.png" border="0" alt="" style="float: left; padding-right: 16px" /></td><td
width="99%"><p><b>HTML5</b><br
/> The ad server now fully supports the new HTML5 doctype and tags.</p></td></tr></table><table
border="0" cellpadding="0" cellspacing="16" width="100%"><tr
valign="middle"><td
width="1%" nowrap="nowrap"><img
src="http://services.renegadeinternet.com/announce/2.5/images/windows8.png" border="0" alt="" style="float: left; padding-right: 16px" /></td><td
width="99%"><p><b>Windows 8</b><br
/> We have added support for targeting and reporting of Windows 8 users.</p></td></tr></table><table
border="0" cellpadding="0" cellspacing="16" width="100%"><tr
valign="middle"><td
width="100%"><p><b>Popup Blocking</b><br
/> When using the anti-popup blocker or the onclick method of opening popups/popunders we are now detecting clicks on the entire page instead of just links, which for some users has increased the number of delivered popups by as much as 60%</p></td></tr></table><h1>API</h1><table
border="0" cellpadding="0" cellspacing="16" width="100%"><tr
valign="middle"><td
width="99%"><p><b>JSON</b><br
/> Not a big fan of XML? You will be happy to hear that our API can now output data in JSON format. To get JSON output instead of XML (which is still the default), simply add an &amp;output=json parameter to your API requests. Our API documentation has also been updated with JSON examples.</p></td><td
width="1%" nowrap="nowrap"><img
src="http://services.renegadeinternet.com/announce/2.5/images/json.gif" border="0" alt="" style="float: right; padding-left: 16px" /></td></tr></table><table
border="0" cellpadding="0" cellspacing="16" width="100%"><tr
valign="middle"><td
width="100%"><p><b>CSV Parameters</b><br
/> All parameter inputs for API requests that were previously specified to support multiple values will now also accept a single CSV parameter value. For example, before you had to use &amp;geography_country=us&amp;geography_country=ca and so on. Now you can simply use &amp;geography_country=us,ca,&#8230; to reduce the amount of code you need to write to include those values.</p></td></tr></table><table
border="0" cellpadding="0" cellspacing="16" width="100%"><tr
valign="middle"><td
width="100%"><p><b>Campaign Querying</b><br
/> You can now query campaigns by a date range with the API. You can specify a starting date, ending date or both for a range. Campaigns with flights overlapping the specified date range will be returned.</p></td></tr></table><h1>Code Wizard</h1><table
border="0" cellpadding="0" cellspacing="16" width="100%"><tr
valign="middle"><td
width="99%"><p><b>Action Code</b><br
/> The action tracking pixel code output by the code wizard is now using an asynchronous JavaScript call to load the pixel, which means the pixel is longer visibly displayed in the page and it also should be able to resolve a greater percentage of referrers.</p></td><td
width="1%" nowrap="nowrap"><img
src="http://services.renegadeinternet.com/announce/2.5/images/htmlcode.png" border="0" alt="" style="float: right; padding-left: 16px" /></td></tr></table><table
border="0" cellpadding="0" cellspacing="16" width="100%"><tr
valign="middle"><td
width="100%"><p><b>UTF-8 Support</b><br
/> All of the codes generated by the code wizard now use the JavaScript encodeURIComponent() function to force UTF-8 hex notation (i.e. EN DASH becomes %E2%80%93 instead of %u2013), which provides better UTF-8 support for custom fields, keywords and also capturing of I18N page URLs with document.location.</p></td></tr></table><h1>Deployment</h1><table
border="0" cellpadding="0" cellspacing="16" width="100%"><tr
valign="middle"><td
width="99%"><p><b>MySQL Slave</b><br
/> It is now possible to increase salability and reliability by configuring a replicated MySQL slave database server. In fact you can configure a pool of slaves and they will be load-balanced automatically! Due to slaves being read-only their use is limited to loading user session data and generating statistics reports.</p></td><td
width="1%" nowrap="nowrap"><img
src="http://services.renegadeinternet.com/announce/2.5/images/mysql.png" border="0" alt="" style="float: right; padding-left: 16px" /></td></tr><tr
valign="middle"><td
colspan="2"><p>With the upcoming clustering support it will be very important to have a few slaves for loading user session data if you use frequency capping or post view tracking. Customers with huge statistics databases know that generating reports can sometimes delay the real-time statistics batch updates, which increases the risk of data loss in the event of a power failure or system crash. By offloading report generation to the slave(s) this risk is completely eliminated because it removes all of the potential for read/write contention from the master.</p></td></tr></table><table
border="0" cellpadding="0" cellspacing="16" width="100%"><tr
valign="middle"><td
width="1%" nowrap="nowrap"><img
src="http://services.renegadeinternet.com/announce/2.5/images/tomcat.png" border="0" alt="" style="float: left; padding-right: 16px" /></td><td
width="99%"><p><b>JDK 7 &amp; Tomcat 7</b><br
/> Deployment with JDK 7 (1.7.0) and Tomcat 7 (7.0.x) is now officially supported.</p></td></tr></table><table
border="0" cellpadding="0" cellspacing="16" width="100%"><tr
valign="middle"><td
width="100%"><p><b>MySQL 5.5</b><br
/> Deployment with MySQL 5.5 and MySQL Connector/J 5.1 is now officially supported.</p></td></tr></table><h1>Performance</h1><table
border="0" cellpadding="0" cellspacing="16" width="100%"><tr
valign="middle"><td
width="1%" nowrap="nowrap"><img
src="http://services.renegadeinternet.com/announce/2.5/images/chains.jpg" border="0" alt="" style="float: left; padding-right: 16px" /></td><td
width="99%"><p><b>Multiple Chains</b><br
/> Performance has been improved with zones containing many levels of chains. The ad server now walks down the campaign list in descending order by chain. This allows it to skip scanning campaigns in lower chains once campaigns in higher chains have already been found!</p></td></tr></table><h1>Reports</h1><table
border="0" cellpadding="0" cellspacing="16" width="100%"><tr
valign="middle"><td
width="100%"><p><b>Drill Down Links</b><br
/> With so many reports a better and faster method of navigating them was needed, so we added drill down links that make navigating the reports a real pleasure! Looking at a general summary report and want to see a report for just one of the advertisers in that report? No problem! Just click on the advertisers name in the report and their report comes up instantly.</p></td></tr><tr
valign="middle"><td
width="100%"><p><b>Share of Voice</b><br
/> Ever wondered what percentage of impressions each of your advertisers or campaigns is actually receiving? We have added a new share field to the reports, which stands for share of voice. This new field shows exactly the percentage of impressions each advertiser received and is available for most other reports as well.</p></td></tr><tr
valign="middle"><td
width="100%"><p><b>Row Highlighting</b><br
/> When comparing different rows in the reports it can be quite easy to lose your place. Now you can click on a row to highlight it, making it easy to come back to. Any number of rows can be highlighted and clicking on them again will unhighlight them.</p></td></tr></table><h1>User Interface</h1><table
border="0" cellpadding="0" cellspacing="16" width="100%"><tr
valign="middle"><td
width="100%"><p><b>Date Selection</b><br
/> When creating a campaign the stop date picker is now advanced to the start date of the campaign making it easier to pick a stop date in the future from the start date.</p></td></tr><tr
valign="middle"><td
width="100%"><p><b>File Renaming</b><br
/> When you try to upload a file with the same name as a file that already exists in the current folder, the new file will now be renamed by appending _1, _2, _3, etc&#8230; to its name instead of making the upload fail!</p></td></tr><tr
valign="middle"><td
width="100%"><p><b>Locating Files</b><br
/> When modifying the file for a media or size the popup file browser window now lets you find the currently selected file much more easily. If the list of files in the folder is very long the window will scroll down to the file. You will also notice that the file has a different icon and is shown in bold to indicate it is the selected file. The last uploaded file can also be selected from the top of the file browser window immediately after uploading it as well.</p></td></tr></table><h1>Questions?</h1><table
border="0" cellpadding="0" cellspacing="16" width="100%"><tr
valign="middle"><td
width="100%"><p>Please don&#8217;t hesitate to <a
href="http://www.renegadeinternet.com/contact-us" target="_blank">contact support</a> if you have questions about any of the new features and improvements.</p></td></tr></table> ]]></content:encoded> <wfw:commentRss>http://www.renegadeinternet.com/2012/01/advertpro-version-2-5/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Contextual Targeting</title><link>http://www.renegadeinternet.com/2011/10/contextual-targeting/</link> <comments>http://www.renegadeinternet.com/2011/10/contextual-targeting/#comments</comments> <pubDate>Wed, 19 Oct 2011 02:29:45 +0000</pubDate> <dc:creator>Mike Cherichetti</dc:creator> <category><![CDATA[AdvertPro]]></category> <category><![CDATA[AdvertServe]]></category> <category><![CDATA[contextual]]></category> <category><![CDATA[keywords]]></category><guid
isPermaLink="false">http://www.renegadeinternet.com/?p=312</guid> <description><![CDATA[Greater Relevancy = Increased Profits Contextual targeting enables you to more effectively target campaigns to relevant pages by matching keywords and phrases within the full text content of those pages. Advertisers are willing to spend more money for their ads to be placed on pages that contain relevant keywords or phrases. Why allow content advertising ...]]></description> <content:encoded><![CDATA[<h2>Greater Relevancy = Increased Profits</h2><p>Contextual targeting enables you to more effectively target campaigns to relevant pages by matching keywords and phrases within the full text content of those pages. <strong>Advertisers are willing to spend more money for their ads to be placed on pages that contain relevant keywords or phrases.</strong> Why allow content advertising networks to collect the lions share of that money?  With  contextual targeting, you will be able to sell those advertisers directly and increase profits by completely cutting out the middle man.</p><p>You can also stretch your inventory to increase profits even further with contextual targeting.  Say that you have an advertiser who  buys 250,000 impressions every month at $10.00 CPM and you deliver those impressions run of site.  Maybe their ads aren&#8217;t quite relevant to every page on your site though?  Why not sell them 100,000 impressions only on relevant pages at $25.00 CPM instead?  You still make the same amount of money ($2,500/month), your advertiser will be happier because their CTR will appear higher from having fewer impressions and you have 150,000 extra impressions that can be sold to another advertiser for an increased profit of $1,500/month.</p><h2>How Contextual Targeting Works</h2><ol><li>Generate a zone code with the <strong>Code Wizard</strong> and check the <strong>Contextual</strong> option to enable indexing of pages where you will place the zone.</li><li>Place the generated zone code in your page(s). Secure pages are supported too!</li><li>The zone code triggers the web crawler component of the contextual targeting module to create a full text index of those pages as they are visited.  This on-demand process happens in less than half a second the first time a new page is discovered.  The ad server will then cache the page index for 1-24 hours (configurable) so there is very little impact on the performance of your site and the loading speed of your ads.</li><li>Campaigns can then be targeted to keywords and phrases in your pages.  Exact and fuzzy matches of keywords are supported.  Boolean operators (+/-) are also supported to require combinations of words, so you can actually require multiple keywords or phrases to be present in a page together.  You can even require certain keywords or phrases to occur a minimum number of times to guarantee greater contextual relevancy.</li><li>The most relevant keywords from your pages can later be reviewed by generating a keyword report, which is a great sales tool that helps you estimate how many impressions certain keywords generate on average.</li></ol><h2>Where Contextual Targeting Excels</h2><p>Lets say that you operate a web site that covers home theater equipment.  The big attraction to your web site is a forum where enthusiasts can discuss all of the latest home theater audio and video gear.  Over the years the forum grows to be home to several hundred thousands posts.  How could you possibly target ads to all of those post pages?  You use keyword targeting!  The contextual targeting module uses a web crawler to full text index your forum post pages on-demand and it caches pages for a short time (4 hours by default) so it won&#8217;t overload your server.</p><p>Another great example would be a blog.  Maybe you have popular blog about food and you like to post your favorite recipes regularly, but your tastes are all over the map.  Even so, you have advertisers interested in advertising on posts featuring recipes that include ingredients they sell.  Here&#8217;s where your problem comes in: all of your blog posts share the same page template so you are stuck with using the same zones for all of your posts.  To pull this off you absolutely need contextual targeting so that you can target campaigns only to posts that mention key ingredients.</p><p>How about advertising networks?  Even if you run a niche network there can still be a lot of potential for increasing relevancy and optimizing inventory usage with contextual targeting.</p><h2>The Important Part: Associated Costs</h2><p>We&#8217;ve set the price for contextual targeting very low to make it affordable for everyone.  AdvertServe users can <a
href="http://www.advertserve.com/contact.html">add contextual targeting</a> to any plan for only $49 per month.  There is no setup fee and there are no usage restrictions.  AdvertPro users can <a
href="https://secure.advertpro.com/order.html">buy the contextual targeting module</a> for a low $449.00 one-time fee.  Updates to the module are free as long as you have a current AdvertPro support contract.</p> ]]></content:encoded> <wfw:commentRss>http://www.renegadeinternet.com/2011/10/contextual-targeting/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>API: Making Bulk Changes</title><link>http://www.renegadeinternet.com/2011/10/api-making-bulk-changes/</link> <comments>http://www.renegadeinternet.com/2011/10/api-making-bulk-changes/#comments</comments> <pubDate>Wed, 05 Oct 2011 02:44:04 +0000</pubDate> <dc:creator>Mike Cherichetti</dc:creator> <category><![CDATA[AdvertPro]]></category> <category><![CDATA[AdvertServe]]></category> <category><![CDATA[api]]></category><guid
isPermaLink="false">http://www.renegadeinternet.com/?p=302</guid> <description><![CDATA[The Problem Your advertiser has just e-mailed to inform you that they have acquired a shorter domain name. They would like you to change all of their ads to redirect to the new, shorter domain name. So, you log in to AdvertPro, go the media listing, filter it by their advertiser account and as you ...]]></description> <content:encoded><![CDATA[<h2>The Problem</h2><p>Your advertiser has just e-mailed to inform you that they have acquired a shorter domain name.  They would like you to change all of their ads to redirect to the new, shorter domain name.  So, you log in to AdvertPro, go the media listing, filter it by their advertiser account and as you were fearing they have around a hundred Flash banners in total.  Editing each of those media to change the redirect is not only going to be time consuming, it&#8217;s going to be error-prone because you could easily miss one of them in the process.</p><h2>API to the Rescue!</h2><p>Why not use the API to make all of the changes for you?  It can take care of them in a matter of seconds.  You just have to create a quick script that does the following:</p><ol><li>Query the API for a list of Flash banner media owned by the advertiser</li><li>Do a search/replace for the domain name on the clickTAG of each Flash banner media</li><li>Use the API to update the media with the new clickTAG value</li></ol><h2>The Solution</h2><p>Here we have a Perl script that will do a search/replace to change <i>www.xyzcorporation.com</i> to <i>www.xyz.com</i> in the <b>ClickTAG URL</b> for all Flash banners owned by the advertiser.</p><div
class="wp_syntax"><div
class="code"><pre class="perl" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/usr/bin/perl -w</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># Load Required Modules</span>
<span style="color: #666666; font-style: italic;">#</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">use</span> strict<span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">use</span> LWP<span style="color: #339933;">::</span><span style="color: #006600;">UserAgent</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">use</span> XML<span style="color: #339933;">::</span><span style="color: #006600;">Simple</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># API Configuration -- Edit This Part</span>
<span style="color: #666666; font-style: italic;">#</span>
&nbsp;
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$API_BASE_URL</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;http://www.example.com&quot;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$API_SECRET_KEY</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;5eb63bbbe01eeed093cb22bb8f5acdc3&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># Advertiser Information -- Edit This Part</span>
<span style="color: #666666; font-style: italic;">#</span>
&nbsp;
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$ADVERTISER_ID</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$OLD_DOMAIN</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;www.xyzcorporation.com&quot;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$NEW_DOMAIN</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;www.xyz.com&quot;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$FLASH_TYPE_ID</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">11</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># Here we set up an HTTP POST requests to query for the list</span>
<span style="color: #666666; font-style: italic;"># of Flash banner media owned by the advertiser.</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># The media type for Flash banners is 11, which you will find</span>
<span style="color: #666666; font-style: italic;"># in the media API documentation.</span>
<span style="color: #666666; font-style: italic;">#</span>
&nbsp;
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">%query_params</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>
  <span style="color: #ff0000;">&quot;secret&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #ff0000;">&quot;$API_SECRET_KEY&quot;</span><span style="color: #339933;">,</span>
  <span style="color: #ff0000;">&quot;advertiser&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">$ADVERTISER_ID</span><span style="color: #339933;">,</span>
  <span style="color: #ff0000;">&quot;type&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">$FLASH_TYPE_ID</span>
<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$query_ua</span> <span style="color: #339933;">=</span> LWP<span style="color: #339933;">::</span><span style="color: #006600;">UserAgent</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">new</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$query_response</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$query_ua</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">post</span><span style="color: #009900;">&#40;</span>
  <span style="color: #ff0000;">&quot;$API_BASE_URL/servlet/control/api/media/query&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">\%query_params</span>
<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># If the API request was successful, parse the returned XML</span>
<span style="color: #666666; font-style: italic;"># and loop through each media.</span>
<span style="color: #666666; font-style: italic;">#</span>
&nbsp;
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$query_response</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">is_success</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
  <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$xml</span> <span style="color: #339933;">=</span> XMLin<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$query_response</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">decoded_content</span><span style="color: #339933;">,</span> KeyAttr <span style="color: #339933;">=&gt;</span> <span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$xml</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #0000ff;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span><span style="color: #ff0000;">'media'</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">foreach</span> <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$media</span> <span style="color: #009900;">&#40;</span> <span style="color: #339933;">@</span><span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span><span style="color: #ff0000;">'media'</span><span style="color: #009900;">&#125;</span> <span style="color: #009900;">&#125;</span> <span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
      <span style="color: #666666; font-style: italic;">#</span>
      <span style="color: #666666; font-style: italic;"># Test to see if the clickTAG contains a reference to the</span>
      <span style="color: #666666; font-style: italic;"># old domain name. If it does we can replace it with the</span>
      <span style="color: #666666; font-style: italic;"># new domain name.  Then we can make another API request</span>
      <span style="color: #666666; font-style: italic;"># to update the media on the ad server with the change.</span>
      <span style="color: #666666; font-style: italic;">#</span>
&nbsp;
      <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$clicktag</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$media</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span><span style="color: #ff0000;">'creative'</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span><span style="color: #ff0000;">'flash'</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span><span style="color: #ff0000;">'clicktag'</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
      <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$clicktag</span> <span style="color: #339933;">=~</span> <span style="color: #009966; font-style: italic;">/$OLD_DOMAIN/i</span><span style="color: #009900;">&#41;</span>
      <span style="color: #009900;">&#123;</span>
        <span style="color: #0000ff;">$clicktag</span> <span style="color: #339933;">=~</span> <span style="color: #009966; font-style: italic;">s/$OLD_DOMAIN/$NEW_DOMAIN/ig</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$update_ua</span> <span style="color: #339933;">=</span> LWP<span style="color: #339933;">::</span><span style="color: #006600;">UserAgent</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">new</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">%update_params</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>
          <span style="color: #ff0000;">&quot;secret&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #ff0000;">&quot;$API_SECRET_KEY&quot;</span><span style="color: #339933;">,</span>
          <span style="color: #ff0000;">&quot;id&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">$media</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span><span style="color: #ff0000;">'id'</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
          <span style="color: #ff0000;">&quot;flash_clicktag&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">$clicktag</span>
        <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$update_response</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$update_ua</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">post</span><span style="color: #009900;">&#40;</span>
          <span style="color: #ff0000;">&quot;$API_BASE_URL/servlet/control/api/media/update&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">\%update_params</span>
        <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$update_response</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">is_success</span><span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>
          <span style="color: #000066;">print</span> <span style="color: #ff0000;">&quot;Updated successfully: &quot;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">$media</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span><span style="color: #ff0000;">'name'</span><span style="color: #009900;">&#125;</span> <span style="color: #339933;">.</span>
                <span style="color: #ff0000;">&quot; (ID# &quot;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">$media</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span><span style="color: #ff0000;">'id'</span><span style="color: #009900;">&#125;</span> <span style="color: #339933;">.</span> <span style="color: #ff0000;">&quot;)<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #b1b100;">else</span>
        <span style="color: #009900;">&#123;</span>
          <span style="color: #000066;">die</span> <span style="color: #0000ff;">$update_response</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">status_line</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
      <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #b1b100;">else</span>
<span style="color: #009900;">&#123;</span>
  <span style="color: #000066;">die</span> <span style="color: #0000ff;">$query_response</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">status_line</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div><p>Some changes are necessary at the beginning of the script to change your API base URL and your secret API key as well as the advertiser ID# and old/new domain names.</p><h2>More Solutions</h2><p>This is just a simple example of how the API can save you time by performing a repetitive task for you.  To learn more, continue reading the API chapter in the user manual: <a
href="http://www.advertpro.com/docs/2.0/html/manual/api.html" target="_top">http://www.advertpro.com/docs/2.0/html/manual/api.html</a> Remember, the API can work with any programming language!  I personally just like Perl.  Feel free to use Java, PHP, Ruby or whatever you&#8217;re most comfortable coding in.</p> ]]></content:encoded> <wfw:commentRss>http://www.renegadeinternet.com/2011/10/api-making-bulk-changes/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>API Security Best Practices</title><link>http://www.renegadeinternet.com/2011/09/api-security-best-practices/</link> <comments>http://www.renegadeinternet.com/2011/09/api-security-best-practices/#comments</comments> <pubDate>Thu, 22 Sep 2011 15:53:36 +0000</pubDate> <dc:creator>Mike Cherichetti</dc:creator> <category><![CDATA[AdvertPro]]></category> <category><![CDATA[AdvertServe]]></category> <category><![CDATA[api]]></category> <category><![CDATA[security]]></category><guid
isPermaLink="false">http://www.renegadeinternet.com/?p=296</guid> <description><![CDATA[Wait&#8230; There&#8217;s an API? For those of you that missed the announcement back in April, both AdvertPro and AdvertServe now have a complete data management, code generation and reporting API. What can you do with the API? Just about anything that you can do with the control panel. In fact, our control panel is running ...]]></description> <content:encoded><![CDATA[<h2>Wait&#8230; There&#8217;s an API?</h2><p>For those of you that missed the announcement back in April, both AdvertPro and AdvertServe now have a complete data management, code generation and reporting API.  What can you do with the API?  Just about anything that you can do with the control panel.  In fact, our control panel is running on top of the API, which means you could even go so far as to build your own.  More commonly the API can be used for integration with other systems and automation of bulk operations.</p><p>For more information, please visit our <a
href="http://www.renegadeinternet.com/developers/" target="_blank">developers</a> page to access the API documentation.</p><h2>Protect Your Secret Key</h2><p>While it may be tempting to use JavaScript to interface directly with the API from a web page it&#8217;s not a safe practice.  Especially if the page is located on a publicly accessible web site.  All someone needs to do is view the source code of the page and they can easily steal your secret API key and start wreaking havoc on your data!</p><p>We&#8217;re not saying to avoid using JavaScript.  By all means use it.  Just make sure you&#8217;re doing it in a safe way.</p><ol><li>Create a script using your language of choice (Java, Perl, PHP, Ruby, etc&#8230;) on your server that makes the request to the API and outputs its response.</li><li>Your secret API key should be stored in the script or in a file or environment variable that it can read.</li><li>Restrict file system access to your script or other file(s) where your secret API key is stored to only the necessary system users.</li><li>Make your JavaScript interface with your script rather than using the API directly.</li></ol><p>This accomplishes the goal of keeping your API key a secret because it does not need to be transmitted to the client.</p><h2>Restricting API Access</h2><p>The API settings allow you to restrict access by IP address.  This should be used to permit only the systems that need to use the API to connect to it.  Like the IP address targeting in AdvertPro it supports range matching.  For example, if you enter <strong>192.168.1.</strong> it will allow access from <em>192.168.1.0</em> through <em>192.168.1.255</em> or if you need to target a smaller group of IP addresses entering <strong>192.168.1.[8-16]</strong> would only allow access from <em>192.168.1.8</em> through <em>192.168.1.16</em>.  Just make sure to only put one IP address or range per line in the box when entering them.</p><h2>Preventing Eavesdropping</h2><p>Even though you are restricting access by IP address and not exposing your secret API key to the client, it is still a concern that data is being transmitted to and from the AdvertPro or AdvertServe servers over the public Internet.  It might hop over 20+ servers before it gets there.  If any one of those servers along the way is compromised an attacker could capture your secret API key and more importantly all of the data that you&#8217;re transmitting back and forth.</p><p>What can you do to stop that?  The same thing you do to protect financial transactions: use HTTPS with an SSL certificate.  This encrypts the data going back and forth between the API so that it can&#8217;t be read by anyone who might be attempting to listen in.</p><p>With AdvertServe getting an SSL certificate is easy.  Just <a
href="http://www.renegadeinternet.com/contact-us/">contact support</a> and ask them to set up SSL for your account.  It only takes a few hours to set up and it&#8217;s only $10/month!  This will also secure your control panel and enable you to serve ads to secure pages as a bonus.</p><p>AdvertPro users will need to purchase and install an SSL certificate with Tomcat or Apache if they&#8217;re using mod_proxy_ajp.  Our recommendation is the <a
href="http://www.godaddy.com/ssl/ssl-certificates.aspx?ci=8979" target="_blank">Standard SSL</a> certificate from GoDaddy.  It&#8217;s only $69.99/year and it&#8217;s guaranteed compatible with Tomcat, which is something I can&#8217;t say for many other SSL vendors.  Many of them claim their SSL certificates will work with Java applications but they don&#8217;t and SSL certificates are generally non-refundable.  Don&#8217;t say you weren&#8217;t warned!</p><h2>Stay Tuned!</h2><p>In the coming weeks I will be writing several articles about using the API for various purposes.  Security comes first though.  Some of the things that I plan on writing about will include creating advertiser and publisher signup forms, bulk zone creation, bulk changes to campaigns and media and how to create a script to e-mail PDF reports to you.  If you have anything else that you&#8217;d like to see an example of, please comment!</p> ]]></content:encoded> <wfw:commentRss>http://www.renegadeinternet.com/2011/09/api-security-best-practices/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Lightbox Ads with jQuery and SimpleModal</title><link>http://www.renegadeinternet.com/2011/09/lightbox-ads-with-jquery-and-simplemodal/</link> <comments>http://www.renegadeinternet.com/2011/09/lightbox-ads-with-jquery-and-simplemodal/#comments</comments> <pubDate>Thu, 15 Sep 2011 20:28:34 +0000</pubDate> <dc:creator>Mike Cherichetti</dc:creator> <category><![CDATA[AdvertPro]]></category> <category><![CDATA[AdvertServe]]></category> <category><![CDATA[jquery]]></category> <category><![CDATA[lightbox]]></category><guid
isPermaLink="false">http://www.renegadeinternet.com/?p=274</guid> <description><![CDATA[What is a Lightbox? Typically a lightbox is used to overlay larger versions of photos on top of a page when you click on their smaller counterparts. They are also great for advertising. Using a lightbox you can display your advertisement over top of your page when a visitor first arrives. This guarantees that the ...]]></description> <content:encoded><![CDATA[<h2>What is a Lightbox?</h2><p>Typically a lightbox is used to overlay larger versions of photos on top of a page when you click on their smaller counterparts.  They are also great for advertising.  Using a lightbox you can display your advertisement over top of your page when a visitor first arrives.  This  guarantees that the visitor will see your advertisers message and it is an easy way to create some valuable new ad space on your site.</p><h2>Live Example</h2><p>Let us take a look at a live example so we can see exactly what a lightbox advertisement looks like.</p><p><a
href="http://services.renegadeinternet.com/examples/lightbox-banner" target="_blank">View Example</a></p><p>Pretty neat huh?  Keep in mind that this is just an example so we are trying to keep it simple.  It is possible to fully customize the HTML code displayed inside of the lightbox.  So, yes, you can use Flash or even create an interactive mini-site to more deeply engage your visitors.</p><h2>Loading jQuery</h2><p>Odds are that you are probably already using jQuery on your web site.  If you are there is no need to load another copy of jQuery.  In fact, it is a bad idea to embed jQuery within your ads because of its size.  For that reason we recommend that you load jQuery directly into your page if you aren&#8217;t already using it.  Ideally you would load it from a CDN, such as the <a
href="http://docs.jquery.com/Downloading_jQuery#CDN_Hosted_jQuery" target="_blank">free ones</a> provided by Google and Microsoft.</p><h2>Download SimpleModal</h2><p>The next step is to download the <a
href="http://www.ericmmartin.com/projects/simplemodal/" target="_blank">SimpleModal</a> plugin for jQuery.</p><p><a
href="http://services.renegadeinternet.com/examples/lightbox-banner.zip">Download Here</a></p><p>There are two files contained in the ZIP file that you will want to upload to your server:</p><ul><li>jquery.simplemodal.css</li><li>jquery.simplemodal.js</li></ul><p>Remember to make note of their URLs because you&#8217;ll need them in a later step.</p><h2>Creating the Media</h2><ol><li>Log in to AdvertPro and click on <strong>Media</strong> in the toolbar</li><li>Click on the <strong>Create New Media</strong> link</li><li>Enter a <strong>Name</strong> for you media, select the <strong>Advertiser</strong> and choose <strong>Dynamic</strong> for the media type.</li><li>Paste the following code into the <strong>Local HTML Content</strong> box (notice we prefix the links with <strong>%%CLICKLINK%%</strong> so the ad server can track clicks):<div
class="wp_syntax"><div
class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;lightbox-banner&quot;</span> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;display: none&quot;</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;%%CLICKLINK%%http://www.sanfrancisco.travel/&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://services.renegadeinternet.com/examples/lightbox-banner/img/goldengate.jpg&quot;</span> <span style="color: #000066;">border</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000066;">width</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;625&quot;</span> <span style="color: #000066;">height</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;434&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Click Here!&quot;</span> <span style="color: #66cc66;">/</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;simplemodal-caption&quot;</span>&gt;</span>
    Advertisement
  <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span>&gt;</span>
jQuery(function ($) {
  $('#lightbox-banner').modal();
});
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span></pre></div></div></li><li>Press the <strong>Create Media</strong> button to complete the process</li></ol><h2>Publishing to your Website</h2><ol><li>Log in to AdvertPro and click on <strong>Code Wizard</strong> in the toolbar</li><li>Click on the <strong>Dynamic Code</strong> option in the menu on the left</li><li>Then click on the <strong>HTML</strong> link underneath it</li><li>Select the <strong>Media</strong> you just created on the right</li><li>Press the <strong>Generate Code</strong> button</li><li>Copy the generated code and paste it into the bottom of your page</li><li>Finally, you should insert the following code just before the media code to ensure that SimpleModal is loaded first:<div
class="wp_syntax"><div
class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://www.yoursite.com/js/jquery.simplemodal.js&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">link</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://www.yoursite.com/css/jquery.simplemodal.css&quot;</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;stylesheet&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span></pre></div></div></li></ol><h2>The Final Result</h2><p>At this point you should be able to go to your site and see your new lightbox advertisement as soon as the page loads.  If you run into trouble, take a look at the index.html file contained in the ZIP file you downloaded earlier.  It will show you how to properly include jQuery, SimpleModal and the the AdvertPro code into your page.</p> ]]></content:encoded> <wfw:commentRss>http://www.renegadeinternet.com/2011/09/lightbox-ads-with-jquery-and-simplemodal/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Video Ads with Bits on the Run</title><link>http://www.renegadeinternet.com/2011/08/video-ads-with-bits-on-the-run/</link> <comments>http://www.renegadeinternet.com/2011/08/video-ads-with-bits-on-the-run/#comments</comments> <pubDate>Sun, 28 Aug 2011 21:16:56 +0000</pubDate> <dc:creator>Mike Cherichetti</dc:creator> <category><![CDATA[AdvertPro]]></category> <category><![CDATA[AdvertServe]]></category> <category><![CDATA[video]]></category><guid
isPermaLink="false">http://www.renegadeinternet.com/?p=203</guid> <description><![CDATA[What is Bits on the Run? Bits on the Run manages the complete video workflow: upload, transcode, stream, and analyze.  They handle the complexities so that you don&#8217;t have to.   With just a few clicks you can design your own video player, encode to multiple bitrates, deliver to multiple platforms/devices, and more.  In this ...]]></description> <content:encoded><![CDATA[<h2>What is Bits on the Run?</h2><p>Bits on the Run manages the complete video workflow: upload, transcode,  stream, and analyze.  They handle the complexities so that you don&#8217;t have  to.   With just a few clicks you can design your own video player, encode  to multiple bitrates, deliver to multiple platforms/devices, and more.  In this blog post we&#8217;re going to be looking specifically at how to create a video player for displaying video banner ads.</p><h2>Creating a Free Account</h2><ol><li>Open your browser to <strong><a
href="http://www.bitsontherun.com/" target="_blank">http://www.bitsontherun.com/</a></strong></li><li>Click on the <strong>Free Account</strong> button</li><li>Enter your <strong>E-mail Address</strong> and create a <strong>Password</strong></li><li>Wait a minute and then check your e-mail for a message from Bits on the Run.   Click on the <strong>Activate Your Account</strong> button contained in that message to activate your account<em><br
/> </em></li><li>You will then be logged in to your new account</li></ol><h2>Uploading a Video</h2><ol><li>Click on the green <strong>Upload a Video</strong> button on the home page</li><li>Click <strong>Browse </strong>to locate the video file on your computer.  It can be in any format.  If you don&#8217;t have a video to test with you can <a
title="Big Buck Bunny - QuickTime Trailer" href="http://www.bigbuckbunny.org/index.php/trailer-page/" target="_blank">download the QuickTime trailer</a> for <a
title="Big Bug Bunny" href="http://www.bigbuckbunny.org/" target="_blank">Big Buck Bunny</a>, which we&#8217;ll be using in this example.  After you&#8217;ve selected the file press the <strong>Upload </strong>button.</li><li>Once the file finishes uploading you can enter some information about the video such as a title, description and the date it was produced</li></ol><h2>Creating a Custom Player</h2><ol><li>Click on the <strong>Players </strong>tab at the top of the page</li><li>Make a copy of the <strong>4:3 example player</strong> by pressing the duplicate button to the right of the player&#8217;s name in the list of available player configurations (see below)<a
title="Duplicating the example player" href="http://www.renegadeinternet.com/wp-content/uploads/2011/08/video_dupeplayer.png" class="colorbox" data-iframe="false" data-inline="false" data-photo="false" data-close="true"><img
class="size-medium wp-image-211 aligncenter" title="Duplicating the example player" src="http://www.renegadeinternet.com/wp-content/uploads/2011/08/video_dupeplayer-300x78.png" alt="Duplicating the example player" width="300" height="78" /></a></li><li>Click on the <strong>4:3 example player (copy)</strong> you just created in the list of available player configurations.</li><li>Change all of the following settings and then press the <strong>Save </strong>button when you are done.<a
title="Change the name, dimensions and skin." href="http://www.renegadeinternet.com/wp-content/uploads/2011/08/video_props_general.png" class="colorbox" data-iframe="false" data-inline="false" data-photo="false" data-close="true"><img
class="size-medium wp-image-213 aligncenter" src="http://www.renegadeinternet.com/wp-content/uploads/2011/08/video_props_general-300x135.png" alt="Video Player General Properties" width="300" height="135" /></a><br
/> <a
title="Disable the controlbar" href="http://www.renegadeinternet.com/wp-content/uploads/2011/08/video_props_layout.png" class="colorbox" data-iframe="false" data-inline="false" data-photo="false" data-close="true"><img
class="size-medium wp-image-214 aligncenter" src="http://www.renegadeinternet.com/wp-content/uploads/2011/08/video_props_layout-300x115.png" alt="Video Player Layout Properties" width="300" height="115" /></a><br
/> <a
title="Enable auto-playing of videos" href="http://www.renegadeinternet.com/wp-content/uploads/2011/08/video_props_behaviour.png" class="colorbox" data-iframe="false" data-inline="false" data-photo="false" data-close="true"><img
class="size-medium wp-image-215 aligncenter" src="http://www.renegadeinternet.com/wp-content/uploads/2011/08/video_props_behaviour-300x155.png" alt="Video Player Behavior Properties" width="300" height="155" /></a><br
/> <a
title="Disable icons and activate the clickproxy plugin" href="http://www.renegadeinternet.com/wp-content/uploads/2011/09/video_props_custom.png" class="colorbox" data-iframe="false" data-inline="false" data-photo="false" data-close="true"><img
class="size-medium wp-image-216 aligncenter" src="http://www.renegadeinternet.com/wp-content/uploads/2011/09/video_props_custom-300x128.png" alt="Video Player Custom Properties" width="300" height="112" /></a></li></ol><h2>Generating the Video Embed Code</h2><ol><li>Click on the <strong>Videos </strong>tab at the top of the page</li><li>Then press the embed button to the right of the video&#8217;s name in the list of available videos (see below)<a
title="Generating the video embed code" href="http://www.renegadeinternet.com/wp-content/uploads/2011/08/video_videos.png" class="colorbox" data-iframe="false" data-inline="false" data-photo="false" data-close="true"><img
class="aligncenter size-medium wp-image-220 aligncenter" src="http://www.renegadeinternet.com/wp-content/uploads/2011/08/video_videos-300x54.png" alt="Video Listing" width="300" height="54" /></a></li><li>Change the <strong>Player </strong>to the new <em>336&#215;280 Banner Player</em> that you created (see below).<a
title="Copying the video embed code" href="http://www.renegadeinternet.com/wp-content/uploads/2011/08/video_embedcode.png" class="colorbox" data-iframe="false" data-inline="false" data-photo="false" data-close="true"><img
class="aligncenter size-medium wp-image-221 aligncenter" src="http://www.renegadeinternet.com/wp-content/uploads/2011/08/video_embedcode-300x219.png" alt="Video Embed Code" width="300" height="219" /></a></li><li>Copy the HTML code from the <strong>Embed Code</strong> box, which should look like the following:<div
class="wp_syntax"><div
class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://content.bitsontherun.com/players/KFLTjIVN-g3oqV69i.js&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span></pre></div></div></li><li>Next, you want to append the following code to it (this enables click tracking with the clickproxy plugin):<div
class="wp_syntax"><div
class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span>&gt;</span>
function clickListener (obj) {
  window.location.replace('%%CLICKLINK%%http://www.example.com/');
}
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span></pre></div></div></li><li>Change <span
style="color: #0000ff;"><strong>http://www.example.com/</strong></span> to the URL you want the video to redirect to when clicked on.  Leave the <strong>%%CLICKLINK%%</strong> variable in front of the URL to enable click tracking.  Also, if the URL contains a query string it should be URL encoded before inserting it into the code!</li><li>Now you should have a completed video embed code with click tracking support that looks like this:<div
class="wp_syntax"><div
class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://content.bitsontherun.com/players/KFLTjIVN-g3oqV69i.js&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span>
&nbsp;
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span>&gt;</span>
function clickListener (obj) {
  window.location.replace('%%CLICKLINK%%http://www.bigbuckbunny.org/');
}
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span></pre></div></div></li></ol><h2>Creating the Media</h2><ol><li>Log in to AdvertPro and click on <strong>Media</strong> in the toolbar</li><li>Click on the <strong>Create New Media</strong> link</li><li>Enter a <strong>Name</strong> for you media, select the <strong>Advertiser</strong>, choose <strong>HTML banner</strong> for the media type and <strong>336&#215;280</strong> for the size.<a
title="Creating the media" href="http://www.renegadeinternet.com/wp-content/uploads/2011/08/video_media1.png" class="colorbox" data-iframe="false" data-inline="false" data-photo="false" data-close="true"><img
src="http://www.renegadeinternet.com/wp-content/uploads/2011/08/video_media1-300x97.png" alt="Creating the Media" width="300" height="97" class="aligncenter size-medium wp-image-242" /></a></li><li>Paste the video embed code into the <strong>Local HTML Content</strong> box<a
title="Creating the media" href="http://www.renegadeinternet.com/wp-content/uploads/2011/08/video_media2.png" class="colorbox" data-iframe="false" data-inline="false" data-photo="false" data-close="true"><img
src="http://www.renegadeinternet.com/wp-content/uploads/2011/08/video_media2-300x108.png" alt="Creating the Media" width="300" height="108" class="aligncenter size-medium wp-image-244" /></a></li><li>Press the <strong>Create Media</strong> button to complete the process</li></ol><h2>The Final Result</h2><p>At this point you can preview the media to watch your new video ad!  Click on the picture below to watch the one that I created.</p><p><a
href="http://affiliate.renegadeinternet.com/advertpro/servlet/view/banner/url/media?mid=174&#038;pid=0" target="_blank"><img
src="http://www.renegadeinternet.com/wp-content/uploads/2011/08/video_watchnow.png" alt="Preview the Video" title="Preview the Video" width="336" height="280" class="aligncenter size-full wp-image-248" /></a></p><p>Remember to try clicking on it.  If the click tracking is working properly you will be redirected to the Big Buck Bunny movie home page.</p> ]]></content:encoded> <wfw:commentRss>http://www.renegadeinternet.com/2011/08/video-ads-with-bits-on-the-run/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Using Chains &amp; Priority</title><link>http://www.renegadeinternet.com/2011/08/using-chains-priority/</link> <comments>http://www.renegadeinternet.com/2011/08/using-chains-priority/#comments</comments> <pubDate>Sun, 28 Aug 2011 18:26:43 +0000</pubDate> <dc:creator>Mike Cherichetti</dc:creator> <category><![CDATA[AdvertPro]]></category> <category><![CDATA[AdvertServe]]></category> <category><![CDATA[chains]]></category> <category><![CDATA[priority]]></category><guid
isPermaLink="false">http://www.renegadeinternet.com/?p=176</guid> <description><![CDATA[What are Chains? Chains provide a way for you to logically group campaigns together and display them in a specific order. Say, for example, that you have the following types of campaigns running in the same zone: You want to make sure that all of your paid campaigns get the required number of impressions.  That ...]]></description> <content:encoded><![CDATA[<h2>What are Chains?</h2><p>Chains provide a way for you to logically group campaigns together and display them in a specific order.</p><p>Say, for example, that you have the following types of campaigns running in the same zone:</p><ul
class="list1 list_color_black"><li>Paid campaigns</li><li>Third-party ad network campaigns</li><li>In-house campaigns</li></ul><p>You want to make sure that all of your paid campaigns get the required number of impressions.  That is accomplished by placing them in a higher chain than your other campaigns.  By placing your third-party and in-house campaigns in lower chains they will only take up the excess impressions.  Let&#8217;s look at how the chains should be set to make that happen.</p><div
class="table_style"><table><thead><tr><th
scope="col"><strong>Campaign Type</strong></th><th
scope="col"><strong>Appropriate Chain Value</strong></th></tr></thead><tbody><tr><td>Paid Campaigns</td><td>1</td></tr><tr><td>Third-party Ad Network Campaigns</td><td>0</td></tr><tr><td>In-house Campaigns</td><td>-1</td></tr></tbody></table></div><p>The ad server starts at the highest chain (greatest number) and works its way down to the lowest chain.  Visitors will first see the paid campaigns, then the third-party campaigns and finally your in-house campaigns.</p><h3>How does the ad server decide when to move between chains?</h3><p>Good question!  Your campaigns in the higher chains will normally have some types of  limits set on them.  They might be using even distribution, frequency capping or some form of targeting.  Those settings will all limit their impressions.  Say, for example, that you set a frequency cap of 2 views per hour on all three of your paid campaigns.  After six page views those campaigns would all be &#8220;capped out&#8221; so the ad server would move down to the next chain and start showing your third-party campaigns.  Once the frequency caps have expired, the ad server will actually move back up to the higher chain and display your paid campaigns again.</p><h2>What About Priority?</h2><p>Most of the time you will have several paid campaigns running at the same time.  By default all campaigns are given the same priority so that they will rotate equally.  What if you want one campaign to run more than the others though?  Simply increase its priority to be higher than the others.  There are several ways to do this using ratios and percentages, so you can decide which is easier for you to use.</p><h3>Using Ratios</h3><div
class="table_style"><table><thead><tr><th
scope="col"><strong>Campaign Name</strong></th><th
scope="col"><strong>Desired Ratio</strong></th><th
scope="col"><strong>Appropriate Priority Value</strong></th></tr></thead><tbody><tr><td>Example One</td><td>1:1</td><td>1</td></tr><tr><td>Example Two</td><td>3:1</td><td>3</td></tr><tr><td>Example Three</td><td>2:1</td><td>2</td></tr></tbody></table></div><h3>Using Percentages</h3><div
class="table_style"><table><thead><tr><th
scope="col"><strong>Campaign Name</strong></th><th
scope="col"><strong>Desired Percentage</strong></th><th
scope="col"><strong>Appropriate Priority Value</strong></th></tr></thead><tbody><tr><td>Example One</td><td>10%</td><td>10</td></tr><tr><td>Example Two</td><td>60%</td><td>60</td></tr><tr><td>Example Three</td><td>30%</td><td>30</td></tr></tbody></table></div><p>The trick with using percentages is to make sure your priority values all sum up to 100.  That effectively makes them equivalent to percentages.  The nice thing is that you don&#8217;t need to do any math to convert ratios to percentages if you do this!</p><p>Another important thing to remember is that each chain operates independently. That means that priority values are only ranked against priority values of campaigns in the same chain.  This allows you to virtually have multiple rotations within a single zone, so if a campaign in the highest chain was set to get 20% of the impressions it would only get 20% of the total impressions given to that chain rather than 20% of the total impressions for the zone.</p><p>Hopefully this helps demystify chains for those of you having a hard time understanding them.  They really are a powerful tool.  Using them effectively with even distribution, frequency capping and targeting is a great way to optimize your inventory usage.</p> ]]></content:encoded> <wfw:commentRss>http://www.renegadeinternet.com/2011/08/using-chains-priority/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Plagued by clickTAG Issues?</title><link>http://www.renegadeinternet.com/2011/08/plagued-by-clicktag-issues/</link> <comments>http://www.renegadeinternet.com/2011/08/plagued-by-clicktag-issues/#comments</comments> <pubDate>Sun, 28 Aug 2011 17:39:18 +0000</pubDate> <dc:creator>Mike Cherichetti</dc:creator> <category><![CDATA[AdvertServe]]></category> <category><![CDATA[clicktag]]></category> <category><![CDATA[flash]]></category><guid
isPermaLink="false">http://www.renegadeinternet.com/?p=167</guid> <description><![CDATA[Sound Familiar? How many times have you put a new Flash banner campaign online only to find it is not clickable? Maybe it was clickable when you put it online, but days later you discover it&#8217;s not tracking clicks because the advertiser embedded their link in the Flash .swf file. Did the advertiser forget to ...]]></description> <content:encoded><![CDATA[<h2>Sound Familiar?</h2><p>How many times have you put a new Flash banner campaign online only to find it is not clickable? Maybe it was clickable when you put it online, but days later you discover it&#8217;s not tracking clicks because the advertiser embedded their link in the Flash .swf file. Did the advertiser forget to tell you they used clickTag rather than clickTAG? Unless you&#8217;re extremely lucky, you&#8217;ve no doubt traded dozens of e-mails back and forth with an advertiser trying to help them get their clickTAG working correctly too many times.</p><h2>Help has Arrived!</h2><p>AdvertServe users now see the following prompt appears after uploading a Flash .swf file.</p><p><img
class="aligncenter size-full wp-image-169" title="Automatic clickTAG Repair Prompt" src="http://www.renegadeinternet.com/wp-content/uploads/2011/08/clicktag.jpg" alt="Automatic clickTAG Repair Prompt" width="501" height="425" /></p><p>Simply click the <strong>Yes</strong> button and your Flash .swf file will be tested in a real browser environment. If the clickTAG is broken or missing it will instantly be repaired. Since we&#8217;ve partnered with another company to provide this feature we will be charging $1.79 per file you choose to verify, however, we shouldn&#8217;t need to convince you that this is a small price to pay to guarantee a working clickTAG with no hassle.</p><h2>Wait&#8230; I have to Pay to Upload .swf Files Now!?!</h2><p>No, simply click the <strong>No </strong>button and your Flash .swf file will be uploaded without testing the clickTAG.  There is no charge for that.  In fact, this is a good way to avoid paying the $1.79 fee if you already know the clickTAG works.  What happens if you choose to skip testing and your clickTAG doesn&#8217;t work though?  In that case you will see a green check mark icon displayed to the right of the Flash .swf file name in the file browser.  Simply click that icon and it will prompt you again to run the testing and repair the clickTAG.</p><h2>It Really Works?</h2><p>Yes, it really does! Here is a list of common problems that will be detected and fixed.</p><ul
class="list4 list_color_green"><li>Embedded or hard-coded links</li><li>Using the wrong combination of ActionScript and Flash versions</li><li>Missing clickTAG button</li><li>Missing or broken clickTAG scripting</li><li>Using clickTag, ClickTag, etc&#8230; instead of clickTAG</li></ul><p>Of course it&#8217;s not limited to fixing just those problems. If an unknown issue is detected a new top layer with a working clickTAG will be inserted into the Flash .swf file. This allows the tool to fix anything your advertisers can throw at it!</p><p>We hope you enjoy using this new tool as much as we do.  If you&#8217;re an AdvertPro user, don&#8217;t worry, this will also be made available to you very soon!</p> ]]></content:encoded> <wfw:commentRss>http://www.renegadeinternet.com/2011/08/plagued-by-clicktag-issues/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using apc
Page Caching using apc
Database Caching using apc
Object Caching 622/699 objects using apc

Served from: www.renegadeinternet.com @ 2012-02-22 20:29:24 -->
