<?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>Digital Fulcrum</title>
	<atom:link href="http://digital-fulcrum.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://digital-fulcrum.com</link>
	<description>Digital Fulcrum</description>
	<lastBuildDate>Thu, 12 Apr 2012 02:34:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Three Pillars of Success: Technology</title>
		<link>http://digital-fulcrum.com/three-pillars-of-success-technology/</link>
		<comments>http://digital-fulcrum.com/three-pillars-of-success-technology/#comments</comments>
		<pubDate>Thu, 12 Apr 2012 02:34:07 +0000</pubDate>
		<dc:creator>blineweaver</dc:creator>
				<category><![CDATA[ad operations]]></category>
		<category><![CDATA[ad sales systems]]></category>
		<category><![CDATA[ad serving]]></category>

		<guid isPermaLink="false">http://digital-fulcrum.com/?p=977</guid>
		<description><![CDATA[We’ve talked about the Three Pillars of Success (People, Process and Technology) at a high-level, and discussed the details of People and Process, and now need to address everyone’s favorite, Technology. Right now, there is a lot of very interesting technology available and &#8230; <a href="http://digital-fulcrum.com/three-pillars-of-success-technology/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>We’ve talked about the Three Pillars of Success (People, Process and Technology) at a high-level, and discussed the details of <strong><a title="People" href="http://digital-fulcrum.com/three-pillars-of-success-people/">People</a></strong> and <strong><a title="Process" href="http://digital-fulcrum.com/three-pillars-of-success-process/">Process</a></strong>, and now need to address everyone’s favorite, Technology.</p>
<p>Right now, there is a lot of very interesting technology available and what’s out there today has some fantastic features. However, instead of getting caught up in the latest bells and whistles, at the core of the technology decision is whether or not your business has the right technology to be successful. Far too often, technology is a scapegoat for a deficiency somewhere else, and it really boils down to being able to answer the question, “Do I have the right technology for my organization to be successful?”</p>
<p>Technology can clearly do a lot for an organization, but it’s also worth taking a step back and looking at how your ad systems are architected for your organization. For instance, ad servers often take a lot of heat when it comes to ad delivery and serving the right impression to the right audience at the right time.</p>
<p>We often hear, “My ad server doesn’t have that capability,” “I can’t target effectively with my ad server,” or “If only I had vendor XYZ as my ad server, then all of these problems would go away.” In reality, it’s not always the technology, but it’s the way in which it’s implemented.</p>
<p>If your ad tags aren’t configured to take advantage of the ad server’s capabilities, that’s not the ad server’s problem, that’s a problem with the technical implementation. If you can’t serve rich media into an iFrame, again, that’s not the ad server’s problem, that’s a different issue caused by the way your site is architected.</p>
<p>These types of complaints aren’t limited to just ad servers – we see it with contract management solutions, analytics or even companies picking a suboptimal solution for their business just because someone recommended it. Unfortunately, we often see it too late in the process, and only once we are engaged to come in and help clean things up.</p>
<p>The good news in all of this is that technical issues are often solved by tending to the people and process elements of your organization. For instance, “My ad server doesn’t have that capability!” is often a result of inadequate training for your team or perhaps a function of turnover within the organization where the system experts are no longer around and process documentation is absent. Rather than find a new technical solution, proper training for your team may address the issues.</p>
<p>From a process perspective, taking the time to thoroughly evaluate a new technology will insure that it’s the right technology for your business. We’ve spoken about it before, but do your due diligence and follow a structured process to determine your needs, then evaluate the solutions to make sure your get the solution that <em>best</em> meets your needs. Also on the process side, insuring that you get it implemented correctly and optimally will also go a long way to avoiding problems.</p>
<p>With all of that said, the key takeaway is that a lot of technology out there today is far superior to what was available just a few years ago. Even if you don’t have an immediate need or a deficiency, you should also be keeping an eye out for anything that can further your business and/or make your jobs easier. Something as simple as a better contract management (workflow) solution that pushes more data to your ad server, can result in a huge efficiency gain for your team and allow them to become campaign optimizers instead of traffickers, which will immediately impact your revenue.</p>
]]></content:encoded>
			<wfw:commentRss>http://digital-fulcrum.com/three-pillars-of-success-technology/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Three Pillars of Success: Process</title>
		<link>http://digital-fulcrum.com/three-pillars-of-success-process/</link>
		<comments>http://digital-fulcrum.com/three-pillars-of-success-process/#comments</comments>
		<pubDate>Thu, 15 Mar 2012 01:12:34 +0000</pubDate>
		<dc:creator>blineweaver</dc:creator>
				<category><![CDATA[ad operations]]></category>
		<category><![CDATA[ad sales systems]]></category>
		<category><![CDATA[ad serving]]></category>

		<guid isPermaLink="false">http://digital-fulcrum.com/?p=970</guid>
		<description><![CDATA[Several weeks ago, we started a series on the Three Pillars of Success and outlined how People, Process and Technology must all be present to support and drive your organization forward. While I believe the People pillar is the most important, the &#8230; <a href="http://digital-fulcrum.com/three-pillars-of-success-process/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Several weeks ago, we started a series on the <a title="Three Pillars of Success" href="http://digital-fulcrum.com/3-pillars-of-success-people-process-and-technology/" target="_blank">Three Pillars of Success </a>and outlined how People, Process and Technology must all be present to support and drive your organization forward. While I believe the People pillar is the most important, the Process element should not be overlooked.</p>
<p>When I say process, I’m not necessarily saying you need to be a Six Sigma operation or committed to an Agile or Kaizen methodology – I’m saying you need a documented, repeatable way of doing things. Sure, this is a simplistic approach, but sometimes less is more.</p>
<p>For instance, when a new hire starts with your team, do you have a process flow that explains how a contract is approved and ultimately results in a trafficked ad? This may seem simple, but having that basic documentation in place could save you a significant amount of time as new hires are on-boarded.</p>
<p>To take it a step further, when you selected and implemented your ad serving system, how did you go about it? Ideally, you followed a basic process that may not have been documented but was at least thought through. It may have gone something like:</p>
<ul>
<li><strong>Step 1:</strong> Recognize a new ad server platform is needed for your organization.</li>
<li><strong>Step 2:</strong> Understand and document core requirements of what you need in a new platform.</li>
<li><strong>Step 3:</strong> Talk to peers (like those in the <a title="AdMonsters" href="http://www.admonsters.com/" target="_blank">AdMonsters</a> community) and do some basic research to see what’s out there. Not just the big names, but also up and comers that may have cool features the others do not.</li>
<li><strong>Step 4:</strong> Create and distribute an RFI/RFP to four or five vendors to see how they stack up against your requirements. For a comprehensive overview of developing an RFP, check out this <a href="http://www.admonsters.com/node/96937" target="_blank">recent article by aiMatch&#8217;s Chris Hanburger</a>.</li>
<li><strong>Step 5:</strong> Down-select to the top two or three, and really evaluate the merits of their solution – extensive demos, use cases, pricing, references, sandbox environment, etc.</li>
<li><strong>Step 6:</strong> Make sure two or three meet your needs and negotiate to make the final determination of what’s best for your organization. It’s worth noting that negotiation is about more than just price. You’ll live with this option for several years, so price is important, but so are all of the other pieces of the relationship.</li>
<li><strong>Step 7:</strong> Implement the new solution (I don’t mean to trivialize this with just one step as it is a very complex and hard thing to do, but that’s a topic for another day.)</li>
</ul>
<p>However, let’s say you neglected to follow any process and just picked a solution that a peer had recommended. Maybe it’s fantastic for their organization, but if you didn’t evaluate it against your core needs it could be completely wrong for you organization and not even meet your basic needs. Yes, this is an extreme example and of course all of you would evaluate it against your core business needs, but you get the point.</p>
<p>Following some sort of structured process is critical to making sure your business functions smoothly and also has a natural tie in with people and technology. When work is crazy, your people will appreciate having some sort of structure to fall back to or even use to prioritize their work. When technology is evaluated and utilized, it needs to fit within your process (or, your process needs to fit the technology if you want to look at it the other way).</p>
<p>Bottom line, whether or not you chose to recognize it, process plays a critical role within your organization and just a little bit of process can go a long way towards making your (and your team’s) life a lot easier.</p>
]]></content:encoded>
			<wfw:commentRss>http://digital-fulcrum.com/three-pillars-of-success-process/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Three Pillars of Success: People</title>
		<link>http://digital-fulcrum.com/three-pillars-of-success-people/</link>
		<comments>http://digital-fulcrum.com/three-pillars-of-success-people/#comments</comments>
		<pubDate>Mon, 20 Feb 2012 16:01:15 +0000</pubDate>
		<dc:creator>blineweaver</dc:creator>
				<category><![CDATA[ad operations]]></category>
		<category><![CDATA[ad serving]]></category>

		<guid isPermaLink="false">http://digital-fulcrum.com/?p=963</guid>
		<description><![CDATA[We introduced the 3 Pillars of Success (People, Process and Technology) several weeks ago, to ultimately discuss each one in detail, and in my opinion, the People Pillar is the most important pillar. With fantastic people in your organization, you &#8230; <a href="http://digital-fulcrum.com/three-pillars-of-success-people/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>We introduced the 3 Pillars of Success (People, Process and Technology) several weeks ago, to ultimately discuss each one in detail, and in my opinion, <strong>the People Pillar is the most important pillar</strong>.</p>
<p>With fantastic people in your organization, you can overcome just about anything. Whether it is a lack of standard/repeatable processes or poor technology, great people always find a way to overcome. Granted, lacking in the other areas and expecting your people to overcome is not ideal, but more often than not, your people do overcome for deficiencies in other areas. However, the reverse does not hold true where great technology or process will make up for unqualified people, it just doesn’t work that way.</p>
<p>Ad Operations is a great example of People overcoming technology or process challenges to get the job done. Just take a look at your organization. Many organizations today are using out of date technology or inefficient processes, yet your people still get the job done. The most prominent technology within Ad Ops is MS-Excel. Excel is so widely used because the processes and technology that Ad Ops personnel need are not available within their organization, thus organizations “make do” with Excel, rather than invest in the best tools and processes available to help their people.</p>
<p>Assuming everyone is in agreement that the People Pillar is the most important pillar of your organization; it begs the question <strong>“Are you investing in your people”</strong>? Hopefully the answer is yes, but far too often what should be a booming “yes” is more of a meek “well, we are just too busy to deal with this right now”. It’s not a conscious decision to NOT invest, but it is a lack of decision because it never seems like the right time to take proactive steps.  If that is the case, then shame on you. Your people matter and when they walk out the door every evening, that is your most valuable asset heading home. It doesn’t take much to get them a refresher training course, develop basic on-boarding materials for new hires, invest in new technology to save them time (alright, sometimes new technology is expensive) or do any number of things to make their lives easier.</p>
<p>Does your team have the right mix of skills to be effective?<br />
Do junior folks see a clear career ladder within ad ops?<br />
Do senior folks feel challenged?<br />
Are your people cross trained to be able to help one another?</p>
<p>All of these are questions that deserve a resounding “YES”, but far too often are ignored which is why it is critically important for organizations to proactively invest in their people. They need not be expensive or time consuming, but as the saying goes, <strong>“Tiny Hinges Swing Big Doors”,</strong> so get started in investing in your People today!</p>
]]></content:encoded>
			<wfw:commentRss>http://digital-fulcrum.com/three-pillars-of-success-people/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TagMan and Digital Fulcrum Join Forces to Optimize Performance of 3rd Party Tags</title>
		<link>http://digital-fulcrum.com/tagman-and-digital-fulcrum-join-forces-to-optimize-performance-of-3rd-party-tags/</link>
		<comments>http://digital-fulcrum.com/tagman-and-digital-fulcrum-join-forces-to-optimize-performance-of-3rd-party-tags/#comments</comments>
		<pubDate>Thu, 09 Feb 2012 17:04:37 +0000</pubDate>
		<dc:creator>klefew</dc:creator>
				<category><![CDATA[ScriptLoading]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[web performance optimization]]></category>
		<category><![CDATA[webperf]]></category>
		<category><![CDATA[wpo]]></category>

		<guid isPermaLink="false">http://digital-fulcrum.com/?p=929</guid>
		<description><![CDATA[Integrated Solution Gives Brand Marketers Faster Page Load Times and a Superior Online Experience NEW YORK, NY – February 9, 2012 – TagMan (www.tagman.com), the global leader in tag management, announced today an exclusive strategic partnership with Digital Fulcrum (www.digital-fulcrum.com), &#8230; <a href="http://digital-fulcrum.com/tagman-and-digital-fulcrum-join-forces-to-optimize-performance-of-3rd-party-tags/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Integrated Solution Gives Brand Marketers Faster Page Load Times and a Superior Online Experience</p>
<p>NEW YORK, NY – February 9, 2012 – <a href="http://www.tagman.com">TagMan</a> (www.tagman.com), the global leader in tag management, announced today an exclusive strategic partnership with <a href="http://www.digital-fulcrum.com">Digital Fulcrum</a> (www.digital-fulcrum.com), provider of the Ghostwriter web performance optimization technology.</p>
<p>Through the partnership, TagMan is further expanding its tag management functionality to deliver optimal page performance for all types of tags, combining its unique ability to support any type of tag with Digital Fulcrum’s expertise in performance management.</p>
<p>“By joining forces with the leader in tag management technology, we’re able to bring improved site performance to a much broader market,” said <a href="http://digital-fulcrum.com/about-2/the-team/kevin-lefew-managing-partner/">Kevin LeFew</a>, managing partner for Digital Fulcrum. “Our solution, combined with the services and metrics that TagMan delivers, creates an incredibly valuable tool that improves user experiences, better informs decision making, and ultimately drives revenue. We are pleased to be collaborating on enhanced services for marketers and publishers alike.”</p>
<p>The partnership will bring even stronger performance optimization to TagMan clients for their third party marketing tags. TagMan’s flexible system already can serve tags asynchronously, which allows tags to load independently of the page content rather than blocking it. TagMan also offers a solution to accelerate the loading of blocking (synchronous) tags using its patent pending smart loading approach (see our recent <a href="http://www.tagman.com/index.php/smart-tag-loading-white-paper">Tag Loading Whitepaper</a>). Ghostwriter extends this solution further by allowing synchronous tags to be executed asynchronously without modifying the code, which enables TagMan to be used asynchronously with any third party tag.</p>
<p>“We’ve seen the majority of our current vendor base tags, which exceed 250, were written before browsers started to implement HTML5 features like asynchronous JavaScript,” said <a href="http://www.tagman.com/index.php/about-management-team.html">Paul Cook</a>, CEO and founder of TagMan. “We’ve worked hard to optimize the dynamic loading of these synchronous tags, and Ghostwriter provides another alternative. Integration with Ghostwriter has helped us reach our target of support for any tag within an asynchronous container, allowing companies to de-couple their tags from their website performance and something alternative Tag Management Systems simply cannot do.<br />
“No longer will marketers need to sacrifice functionality and page performance for their third party tags,” he continued. “They’ll have access to better data, faster page loading, and the freedom to work with any vendor. We are very excited by this partnership and it is already live and integrated for several clients.”<br />
TagMan can be found on Twitter at <a href="http://www.twitter.com/tagman">www.twitter.com/tagman</a>, and also has a LinkedIn page at http://<a href="http://linkd.in/yYGKEV">linkd.in/yYGKEV</a>. You can read the company’s blog at <a href="http://blog.tagman.com">http://blog.tagman.com/</a>.</p>
<p>About <a href="http://www,tagman.com">TagMan</a><br />
TagMan is the global leader in tag management, with the industry&#8217;s most mature and proven platform for the enterprise. Since launching the first, independent tag management platform in 2007, TagMan has helped over 100 customers solve tagging, site performance and attribution-related challenges. With over 250 vendor tags currently implemented, the award-winning TagMan platform provides customers like Travelocity, Virgin Atlantic, Subaru and others complete agility in managing existing partners and working with new technologies without the burden of costly implementation projects and resources. More information is available at www.tagman.com.</p>
<p>About <a href="http://www.digital-fulcrum.com">Digital Fulcrum</a><br />
Founded by a team of online advertising experts with years of experience in facing publisher challenges, Digital Fulcrum is dedicated to providing its clients with superior services and solutions. GhostWriter is a transformational, patent pending, Web Performance Optimization solution that allows publishers, marketers and others to optimize, inspect, manipulate and monitor like no other. Digital Fulcrum is also in a deep partnership with AdMonsters providing all services offered via <a href="http://www.admonsters.com/consulting">Admonsters Professional Services (APS)</a> for North America.</p>
<p>Contact us today to learn more about what Digital Fulcrum can do for your business.  <a href="http://www.digital-fulcrum.com">www.digital-fulcrum.com</a> or email to: info@digital-fulcrum.com. You can find our blog at http://<a href="http://digital-fulcrum.com/blog/">digital-fulcrum.com/blog/</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://digital-fulcrum.com/tagman-and-digital-fulcrum-join-forces-to-optimize-performance-of-3rd-party-tags/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>3 Pillars of Success: People, Process and Technology</title>
		<link>http://digital-fulcrum.com/3-pillars-of-success-people-process-and-technology/</link>
		<comments>http://digital-fulcrum.com/3-pillars-of-success-people-process-and-technology/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 01:56:05 +0000</pubDate>
		<dc:creator>blineweaver</dc:creator>
				<category><![CDATA[ad operations]]></category>
		<category><![CDATA[ad sales systems]]></category>
		<category><![CDATA[ad serving]]></category>

		<guid isPermaLink="false">http://digital-fulcrum.com/?p=910</guid>
		<description><![CDATA[For many of you, this is not new, but it is definitely true and worth repeating.  For any project or organization to be successful, there must be the right balance of People, Process and Technology.  As Ad Operations professionals, you &#8230; <a href="http://digital-fulcrum.com/3-pillars-of-success-people-process-and-technology/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div>
<p>For many of you, this is not new, but it is definitely true and worth repeating.  For any project or organization to be successful, there must be the right balance of People, Process and Technology. </p>
<p>As Ad Operations professionals, you are constantly faced with doing more with less and are far too often placed into a reactive posture, when to truly drive revenue you need to be in a proactive posture.  Think of it is a 3-legged stool, where all 3 legs are important and if any 1-leg is missing the stool just won’t work.  Well, this is exactly the same for your organization.  If you don’t have the right people, the job won’t get done.   If you don’t have the right process, the job won’t get done.  If you don’t have the right technology, the job won’t get done.  All 3 of these legs are important and it is incumbent on you as ad operations leaders to insure all 3 legs are strong and able to support and proactively drive your organization forward.</p>
<p>Over the next several weeks, we’ll take each of these pillars and talk about them in greater detail, but in the meantime, I challenge each you to take a step back and think about your specific situation and answer the following questions:</p>
<p>-          Do I have the right people to deliver today as well as in the future?</p>
<p>-          Do I have the right processes in place to get the job done today as well as in the future?</p>
<p>-          Do I have the right technology to execute?</p>
<p>-          What do my people need to get their jobs done better, faster, more accurately, etc.?</p>
<p>-          Does my technical infrastructure align to and support the needs of my organization?</p>
<p>-          Do I have consistent and repeatable processes in place and are they as efficient as possible?</p>
<p>Weigh in and tell us, of People, Process and Technology, what do you feel is the most important to your organization.</p>
</div>
<p><!-- output author photo/bio if exists --></p>
]]></content:encoded>
			<wfw:commentRss>http://digital-fulcrum.com/3-pillars-of-success-people-process-and-technology/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Digital Fulcrum Presents at the University of Virginia</title>
		<link>http://digital-fulcrum.com/digital-fulcrum-presents-at-the-university-of-virginia/</link>
		<comments>http://digital-fulcrum.com/digital-fulcrum-presents-at-the-university-of-virginia/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 01:51:16 +0000</pubDate>
		<dc:creator>blineweaver</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ad operations]]></category>
		<category><![CDATA[GhostWriter]]></category>
		<category><![CDATA[web analytics]]></category>
		<category><![CDATA[web performance optimization]]></category>
		<category><![CDATA[wpo]]></category>

		<guid isPermaLink="false">http://digital-fulcrum.com/?p=899</guid>
		<description><![CDATA[Just the other week, a few of us had the privilege of going to Charlottesville to talk to a class of undergraduate students at the University of Virginia.  Granted, any excuse to get back to UVA is always great, but &#8230; <a href="http://digital-fulcrum.com/digital-fulcrum-presents-at-the-university-of-virginia/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Just the other week, a few of us had the privilege of going to Charlottesville to talk to a class of undergraduate students at the University of Virginia.  Granted, any excuse to get back to UVA is always great, but on this occasion it was an opportunity to talk about Web Analytics, Online Ad Operations, and Web Performance (specifically our <a title="GhostWriter" href="http://digital-fulcrum.com/solutions/ghostwriter-complete-control/" target="_blank">GhostWriter WPO product</a>) with a 4<sup>th</sup> year class at the <a title="McIntire School of Commerce" href="http://www.commerce.virginia.edu/Pages/default.aspx" target="_blank">McIntire School of Commerce </a>(undergraduate business school at UVA). </p>
<p>It was great to see students taking an interest in our space, and the questions they were asking were fantastic.  The core of our visit was to discuss web and data analytics, but nothing was off limits and the students were really engaged and eager to better understand the ad operations ecosystem.  Questions ranged from how to make sense of it all to what will it look like in 2 years and it was truly a pleasure to talk about our space and know that some of today’s brightest college students are eager to jump into the world of ad operations and related technologies.  The students were quick to confirm that speed matters and a poor user experience is unacceptable from a users’ perspective, providing further confirmation that GhostWriter is a welcome solution when addressing<a title="Omaha.com Reduce Page Load Times" href="http://digital-fulcrum.com/about-2/press-releases/omaha-world-herald/" target="_blank"> page load times</a> and <a href="http://digital-fulcrum.com/measure-ad-load-time/" target="_blank">bad ads</a>.</p>
<p>To learn more about our visit to UVA, see the related <a title="McIntire School of Commerce" href="http://www.commerce.virginia.edu/news_events/archive/2011/11/04/digital-fulcrum-class-visit.aspx" target="_blank">McIntire blog post</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://digital-fulcrum.com/digital-fulcrum-presents-at-the-university-of-virginia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Component Level Real-User Monitoring</title>
		<link>http://digital-fulcrum.com/url-level-real-user-monitoring/</link>
		<comments>http://digital-fulcrum.com/url-level-real-user-monitoring/#comments</comments>
		<pubDate>Thu, 12 May 2011 16:18:40 +0000</pubDate>
		<dc:creator>Will Alexander</dc:creator>
				<category><![CDATA[network monitoring]]></category>
		<category><![CDATA[GhostWriter]]></category>
		<category><![CDATA[scriptloading]]></category>
		<category><![CDATA[web performance optimization]]></category>
		<category><![CDATA[webperf]]></category>
		<category><![CDATA[wpo]]></category>

		<guid isPermaLink="false">http://digital-fulcrum.com/?p=815</guid>
		<description><![CDATA[GhostWriter lets you prioritize when and how you load third-party content, like ads.  Your users see what they&#8217;re looking for sooner which increases engagement and improves your search engine rankings. One of the ways it does this is by introducing &#8230; <a href="http://digital-fulcrum.com/url-level-real-user-monitoring/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>GhostWriter lets you prioritize when and how you load third-party content, like ads.  Your users see what they&#8217;re looking for sooner which increases engagement and improves your search engine rankings.</p>
<p>One of the ways it does this is by introducing a smarter replacement for the standard document.write method.   Couple this intelligent proxy with GhostWriter&#8217;s hooking mechanisms and you can measure the <strong>performanc</strong><strong>e</strong> <strong>of</strong> <strong>individual</strong> <strong>components</strong> <strong>from the end-user perspective </strong> and send this data to a system like Google Analytics.  </p>
<p>The reports lets you see a list of all third-party resources.</p>
<blockquote>
<table style="margin: 0; padding: 0; width: 650px" >
<tr>
<td  valign=middler width=3750px> TYPE://URL </td>
<td> Total / Unique Views </td>
<td> Total/Avg Time (ms)</td>
</tr>
</table>
<p> <img class="alignnone size-full wp-image-817" title="sample component load report" src="http://digital-fulcrum.com/wp-content/uploads/2011/05/screenshot8.png" alt="" /></a></p>
</blockquote>
<p>Our <a title="Measuring Ad Load times" href="../measure-ad-load-time/" target="_self">post last week</a> talked about the <strong>startOffset </strong>and <strong>loadTime </strong>events; however, we&#8217;ve now added the <strong>componentLoad </strong>and <strong>componentTimeout </strong>events to <a href="http://digital-fulcrum.com/ghostwriter/eg/reporting" target="_blank">this page</a>. Here&#8217;s an overview of what each one means:</p>
<ul>
<li><strong>startOffset</strong> &#8212; The time it took for the ad to start loading</li>
<li><strong>loadTime &#8212; </strong>Once the ad started, how long the daisy chain of scripts took</li>
<li><strong>componentLoad </strong>&#8211; <em>Individual load times for each resource the ad referenced</em></li>
<li><strong>componentTimeout </strong>&#8211; <em>Resources whose load time exceed our threshold</em></li>
</ul>
<p>Let&#8217;s see how we can use these event metrics to identify the performance of our ads.  Unlike existing real-user monitoring services, we&#8217;ll show you how to get <strong>actionable insights </strong>out of this information.</p>
<p>This screenshot shows each of those metrics for the 160&#215;600 position.  Clearly we have a problem  &#8212; average load time is over 18 seconds!!</p>
<p><a href="http://digital-fulcrum.com/wp-content/uploads/2011/05/average-for-all-labels-for-160x600.png"><img class="alignnone size-full wp-image-817" title="average for all labels for 160x600" src="http://digital-fulcrum.com/wp-content/uploads/2011/05/average-for-all-labels-for-160x600.png" alt="" width="1024" height="208" /></a></p>
<p>Drilling down we can see the distribution of load times.  In the left-most column we have a time bucket.  We&#8217;ve set the middle column to show us the total number of events while the third shows the percentage contribution.</p>
<p>For the most part, this ad loads just fine &#8212; 88% of the time it finishes in under 1s.</p>
<p><a href="http://digital-fulcrum.com/wp-content/uploads/2011/05/160x600-loadTime-histogram-percentage-of-total-events.png"><img class="alignnone size-full wp-image-818" title="160x600-loadTime-histogram-percentage-of-total-events" src="http://digital-fulcrum.com/wp-content/uploads/2011/05/160x600-loadTime-histogram-percentage-of-total-events.png" alt="" width="1035" height="366" /></a></p>
<p>So why is our average load time 18s??</p>
<p>Switching the top-right drop-down menu to show each bucket&#8217;s contribution to the overall Event Value makes it easy to see why &#8212; The 30s bucket contributed to 94% of the total event value!</p>
<p><a href="http://digital-fulcrum.com/wp-content/uploads/2011/05/160x600-loadTime-histogram-percentage-of-total-value1.png"><img src="http://digital-fulcrum.com/wp-content/uploads/2011/05/160x600-loadTime-histogram-percentage-of-total-value1.png" alt="" title="160x600-loadTime-histogram-percentage-of-total-value" width="1052" height="366" /></a></p>
<p>At this point, we still have no idea what actually <strong>caused </strong>this latency.  With <strong>other real-user monitoring</strong> <strong>services</strong> this is where <strong>the road ends. </strong>You know there&#8217;s some kind of intermittent issue that&#8217;s seriously affecting a small percentage of your end users, but nothing else.</p>
<p>Sometimes knowing something&#8217;s broken is more frustrating than not knowing at all.  <em>Was it your ad server?  A third-party tag?  Call to a remnant provider? </em>  Existing solutions treat third-party content as a black box.  You can see how long it took to go through it, but you have no idea what happened while you were in there.  </p>
<p>GhostWriter pries the lid off the box and let&#8217;s you finally see inside!  </p>
<p>Drilling down into the <strong>componentLoad</strong> event, we can see the problem is due to a SCRIPT from the URL digital-fulcrum.com/gw/t/ads/ad14.js.  The last column of that row shows the average load time was 31.6 seconds!!  We can also see all of the URL&#8217;s that were loaded into that position and determine if any of them are contributing to the problem.  </p>
<p><a href="http://digital-fulcrum.com/wp-content/uploads/2011/05/components-sorted-by-load-time-for-160x600.png"><img class="alignnone size-full wp-image-820" title="components sorted by load time for 160x600" src="http://digital-fulcrum.com/wp-content/uploads/2011/05/components-sorted-by-load-time-for-160x600.png" alt="" width="1036" height="352" /></a></p>
<blockquote><p><strong>Please Note: </strong>We&#8217;ve blurred out the actual URL&#8217;s since we deliberately induced some of this latency.  These numbers are not indicative of actual service levels.</p></blockquote>
<p>Beyond just performance data, the report helps you understand the variety of sources loading on your pages.  Fine-grained ad targeting or use of a remnant network masks a lot of these providers in synthetic transaction waterfall data.  As we&#8217;ve mentioned, <strong>GhostWriter&#8217;s unique ability to simulate the <em>document.write</em> method unlocks this level of detail. </strong></p>
<p><a href="http://digital-fulcrum.com/wp-content/uploads/2011/05/slowest-loading-components1.png"><img class="alignnone size-full wp-image-823" title="slowest loading components" src="http://digital-fulcrum.com/wp-content/uploads/2011/05/slowest-loading-components1.png" alt="" width="1033" height="581" /></a></p>
<p>This kind of insight helps you enforce service level agreements, can help determine inventory impact when modifying your site layout, helps identify and correct problems being experienced by actual end-users and extends your monitoring coverage to every page, user and component!</p>
<p>Moreover, you can use your existing tools! GhostWriter isn&#8217;t limited to just Google Analytics reporting.  It can  send the data anywhere you want like another analytics tool like <a href="http://www.omniture.com/en/" target="_blank">Omniture</a> or a Network Monitoring Service like <a href="http://sciencelogic.com" target="_blank">EM7</a>, <a href="http://www.bmc.com/products/product-listing/ProactiveNet-Performance-Management.html" target="_blank">BMC</a> or <a href="http://www.nagios.org/" target="_blank">Nagios</a>.</p>
<p>Your users hold you responsible for the performance and availability of the third-party content on your site!  Isn&#8217;t it time you monitored that content with the same level of detail, frequency and precision you apply to your own systems?</p>
<p>Let us show you how GhostWriter can increase engagement, improve search engine rankings and allow you to become proactive in your relationship with third-parties.   <a href="../solutions/ghostwriter-complete-control/ghostwriter-code-sample/" target="_blank">Download</a> the sample code or <a href="../solutions/ghostwriter-complete-control/submit-a-url-for-testing" target="_blank">submit your URL</a>.   Take <strong>complete control </strong>of your site!</p>
]]></content:encoded>
			<wfw:commentRss>http://digital-fulcrum.com/url-level-real-user-monitoring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Got ad performance problems?  Find out!</title>
		<link>http://digital-fulcrum.com/measure-ad-load-time/</link>
		<comments>http://digital-fulcrum.com/measure-ad-load-time/#comments</comments>
		<pubDate>Fri, 06 May 2011 04:06:59 +0000</pubDate>
		<dc:creator>Will Alexander</dc:creator>
				<category><![CDATA[ScriptLoading]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[webperf]]></category>

		<guid isPermaLink="false">http://digital-fulcrum.com/?p=768</guid>
		<description><![CDATA[We saw that Google Analytics now supported Page Load Time metrics out-of-the-box and started thinking about how we might be able to use GhostWriter&#8217;s insights into third-party content (read: ads) performance to give users of both GhostWriter and Google Analytics &#8230; <a href="http://digital-fulcrum.com/measure-ad-load-time/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>We saw that Google Analytics now <a href="http://analytics.blogspot.com/2011/05/measure-page-load-time-with-site-speed.html">supported Page Load Time metric</a>s out-of-the-box and started thinking about how we might be able to use GhostWriter&#8217;s insights into third-party content (read: ads) performance to give users of both GhostWriter and Google Analytics highly granular performance measurements.<br />
GhostWriter&#8217;s hooks allow you to execute custom call back functions at the beginning and end of each ad call.    The hook records the timing of each of these events and submits custom events to Google Analytics using its _trackEvent() method.  We&#8217;re using <a target=_new href="http://digital-fulcrum.com/ghostwriter/eg/reporting/">this page</a> to test.</p>
<h4>Ad Load Time Reports</h4>
<p>Check out this eye candy.  All Event values are in milliseconds. </p>
<blockquote><p>Average loads times:<br />
<a href="http://digital-fulcrum.com/wp-content/uploads/2011/05/loadTime-Average-By-Position.png"><img class="size-full wp-image-771" title="loadTime Average By Position" src="http://digital-fulcrum.com/wp-content/uploads/2011/05/loadTime-Average-By-Position.png" alt="" width="783" height="181" /></a></p></blockquote>
<blockquote><p>Distribution of ad load times<br />
<a href="http://digital-fulcrum.com/wp-content/uploads/2011/05/loadTime-Distribution.png"><img class="size-full wp-image-773" title="loadTime Distribution" src="http://digital-fulcrum.com/wp-content/uploads/2011/05/loadTime-Distribution.png" alt="" width="864" height="357" /></a></p></blockquote>
<blockquote><p>Load Time distribution for the 728&#215;90-1 position<br />
<img src="http://digital-fulcrum.com/wp-content/uploads/2011/05/loadTime-Breakdown-728x90-.png" alt="Load Time Distribution " /></p></blockquote>
<h4>Ad Position Starting Times </h4>
<p>You can also see start offset times &#8212; the difference between the start of the page and ad loading.</p>
<blockquote><p>Average start time by position<br />
<a href="http://digital-fulcrum.com/wp-content/uploads/2011/05/startOffset-Average-By-Position.png"><img class="size-full wp-image-774" title="startOffset Average By Position" src="http://digital-fulcrum.com/wp-content/uploads/2011/05/startOffset-Average-By-Position.png" alt="" width="769" height="175" /></a></p></blockquote>
<blockquote><p>Start time distribution for 300&#215;250-1 position<br />
<a href="http://digital-fulcrum.com/wp-content/uploads/2011/05/startOffset-Breakdown-300x250-1.png"><img class="size-full wp-image-775" title="startOffset Breakdown 300x250-1" src="http://digital-fulcrum.com/wp-content/uploads/2011/05/startOffset-Breakdown-300x250-1.png" alt="" width="879" height="346" /></a></p></blockquote>
<h4>No Ghostwriter? No problem &#8230;</h4>
<p>If you&#8217;re willing to put in some extra work, you can collect these metrics even if you&#8217;re not a GhostWriter customer.  You&#8217;ll need to add a new &lt;script&gt; element below each of your ad calls and include   <a href="/webperf/admonitors.js">this script</a>.  on your page.  (This assumes you all ready have GA working to track pageviews)<br />
<blockquote style="margin: 0.1em 2.0em;">
<code style="margin: 0"><br />
&lt;script&gt;<br />
tracker=  new ghostLoadReporter( "300x250-1" )<br />
tracker.start()<br />
// Normal ad loading code here ...<br />
&lt;/script&gt;<br />
&lt;script&gt;<br />
tracker.end()<br />
&lt;/script&gt;<br />
</code><em><strong>WARNING:</strong> It is <strong>NOT</strong> sufficient to simply add the tracker.end() calls after your ad loading code.  It <strong>must</strong> be in a separate script block.</p></blockquote>
<p>This will let you start collecting the start offset and load time metrics for the ads on your page; however, you&#8217;ll be limited to just being able to collect this data.  With GhostWriter, however, you will soon be able to get what I know you&#8217;re <strong>really</strong> after.</p>
<h4>Analyzing The Entire Chain</h4>
<p>Knowing start and end times for the ads on your page is great.  The only problem is, you have no idea <strong>why</strong> some ads are slower.  GhostWriter can fill that knowledge gap, giving you a breakdown of the URLs that contributed to an ad&#8217;s slowest.  With this data, you can actually troubleshoot reports of <em>Your ads are making the site slow</em> using empirical evidence.<br />
<a href="/ghostwriter/eg/bubbles/">Our GhostWriter bubbles page</a> shows a little bit of what we mean.  After loading the ads, little &#8220;bubbles&#8221; appear above each one that tell you the start and end times for the entire ad.  These two metrics are what we&#8217;re reporting into GA today.  Expanding the bubbles, however, shows the entire daisy chain of delivery &#8212; It captures the load times for every SCRIPT, IMG, IFRAME and EMBED element along with the URL.<br />
<a href="http://digital-fulcrum.com/wp-content/uploads/2011/05/300x250-2-daisy-chain.png"><img class="alignleft size-full wp-image-769" title="Ad Loading Daisy Chain" src="http://digital-fulcrum.com/wp-content/uploads/2011/05/300x250-2-daisy-chain.png" alt="" width="637" height="389" /></a></p>
<p>We&#8217;ll be reporting this level of detail shortly and let you identify which domains contribute most to latency.  It&#8217;s a great way to keep an eye on your third-party content providers, many of whom have an SLA guaranteeing a certain quality of service.<br />
<br style="clear: both;" /></p>
<p><strong>We know you&#8217;re excited so we&#8217;ll get back to work!</strong> </p>
<p>If you&#8217;re interested in monitoring third-party content but not letting it impact the performance of your content,  check out how <a href="http://digital-fulcrum.com/solutions/ghostwriter-complete-control/">GhostWriter</a> puts <strong>you</strong> in complete control and check out our <a href="http://digital-fulcrum.com/solutions/ghostwriter-complete-control/ghostwriter-code-sample/">Free Trial</a></p>
]]></content:encoded>
			<wfw:commentRss>http://digital-fulcrum.com/measure-ad-load-time/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Auto Semi-Colon Insertion and Closures</title>
		<link>http://digital-fulcrum.com/auto-semi-colon-insertion-and-closures/</link>
		<comments>http://digital-fulcrum.com/auto-semi-colon-insertion-and-closures/#comments</comments>
		<pubDate>Wed, 26 Jan 2011 15:22:28 +0000</pubDate>
		<dc:creator>Will Alexander</dc:creator>
				<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://digital-fulcrum.com/?p=639</guid>
		<description><![CDATA[I was working on a Javascript library, applying what I thought was an innocuous change to remove an unnecessary closure. The original code looked like this. Foo= (function(){ return function($){alert($)} })() (function(){ /* ... */ })(); I re-factored to remove &#8230; <a href="http://digital-fulcrum.com/auto-semi-colon-insertion-and-closures/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I was working on a Javascript library, applying what I thought was an innocuous change to remove an unnecessary closure. </p>
<p>The original code looked like this.<br />
<code><br />
Foo= (function(){ return function($){alert($)} })()<br />
(function(){  /* ... */   })();<br />
</code></p>
<p>I re-factored to remove the first closure.  Suddenly, the Foo() function was executing before any code actually ran Foo().  What&#8217;s more, the Foo() variable was no longer defined.<br />
<code><br />
Foo= function($){ alert($); }<br />
(function)(){ /* .... This was untouched */ })();<br />
</code><br />
If you run this simple example it becomes clear what had happened: Instead of assigning the function declaration to the Foo variable, the parentheses around the bottom closure was causing the function to run inline, passing the closure as its argument.  </p>
<p>This is one case where automatic semi-colon insertion (ASI) failed me.  Normally when you assign a function to a variable, the ending } triggers ASI; however, in this case, since the next non-whitespace character was a ( ASI was not performed and instead the function was executed.  Adding a semi-colon to the first line fixed the issue. </p>
<p>When I first started writing Javascript something similar happened to me.  At the time I remember un-doing a bunch of changes until I finally got it to work properly; however, it always bothered me that I couldn&#8217;t figure out the root cause.  Now I&#8217;m convinced it was a similar issue.  </p>
<p>I&#8217;m not sure what the exact rules are for ASI and whether or not its implemented the same in all browsers.  Given this is only the second time I&#8217;ve run into it, I assume it&#8217;s rather consistent; however, the lesson I learned is this: <strong>Always</strong> terminate variable assignment with a semi-colon!</p>
]]></content:encoded>
			<wfw:commentRss>http://digital-fulcrum.com/auto-semi-colon-insertion-and-closures/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gecko and WebKit To Iframes: &#8220;Freeze! Or you&#8217;ll reload!&#8221;</title>
		<link>http://digital-fulcrum.com/iframe-reloading-behavior/</link>
		<comments>http://digital-fulcrum.com/iframe-reloading-behavior/#comments</comments>
		<pubDate>Mon, 20 Dec 2010 20:31:52 +0000</pubDate>
		<dc:creator>Will Alexander</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://digital-fulcrum.com/?p=628</guid>
		<description><![CDATA[iFrames aren&#8217;t evil, just misguided I&#8217;ve always looked at iframes with a great deal of skepticism. They seem like something of an intruder, delivered from their own domain and free to embed whatever content they see fit. Browsers implement a &#8230; <a href="http://digital-fulcrum.com/iframe-reloading-behavior/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<link href=/executionorder/syntaxhilighter/styles/shCore.css rel='stylesheet' type='text/css' />
<link href=/executionorder/syntaxhilighter/styles/shThemeDefault.css rel=stylesheet type=text/css />
<h2>iFrames aren&#8217;t evil, just misguided</h2>
<p>I&#8217;ve always looked at iframes with a great deal of skepticism. They seem like something of an intruder, delivered from their own domain and free to embed whatever content they see fit.  Browsers implement a great deal of cross-domain security to prevent your page from peeking into an iframe and vice versa, but these interlopers always seem to figure out how to work around it, even if it&#8217;s just a simple window.top.location.href=&#8221;&#8230;&#8221;;   Beyond the security issue, they seem to exhibit some quirky behavior in Firefox especially, which sometimes decides to switch iframe content.  I&#8217;ve seen iframes that were meant to contain ads contain raw JSON data show up in Firefox.  It didn&#8217;t come as any surprise to me then when I discovered another quirky behavior.  In both Gecko and WebKit, <strong>whenever you move an iframe, it will reload!</strong></p>
<p>Have a look at this page, which uses a Dart tag to embed an ad that contains an <a href="http://www.adkeeper.com">AdKeeper button</a>.  Open the Net tab in Firebug before you click the button to move the iframe.  You can see that appending the iframe to another element triggers the entire frame to be reloaded!</p>
<p><a href="/moveiframes">http://digital-fulcrum.com/movieiframes</a> </p>
<h2>When might iframes be moved?</h2>
<p>To mitigate the impact of slow-loading third-party ads (no first-party content is ever slow, right?) a lot of sites are using a technique where the ads are placed at the bottom of the page.  To accomplish this, two DIV elements are used along with two SCRIPT tags.  The first DIV is where the ad would normally load and where it will eventually be placed. The second DIV is the container into which the ad actually is loaded.  The first script tag loads the ad and the second script tag moves it.  Here&#8217;s a simple example.  </p>
<pre class="brush: xml">
&lt;body&gt;
&lt;!-- This is where the ad will eventually be placed --&gt;
&lt;div id=ad1-placement&gt;&lt;/div&gt;
&lt;div class=content&gt;
Loads and loads of Content
&lt;/div&gt; 

&lt;!--
Here we load the ad.  The DIV element must be part of the HTML
and cannot be included dynamically.  THis is to guarantee the HTML
that gets output via document.write() is contained entirely in the DIV.
--&gt;
&lt;div id=ad1-load&gt;
&lt;script&gt;
document.write(&quot;&lt;script src=adserver.com/....&gt;&lt;\/script&gt;&quot;);
&lt;/script&gt;
&lt;/div&gt;
&lt;!--
This could be iterative, but it must be done
AFTER the script tag that loads the ad.
--&gt;
&lt;script&gt;
var from= document.getElementById(&quot;ad1-load&quot;),
    to= document.getElementById(&quot;ad1-placement&quot;)
;
to.appendChild(from);
&lt;/script&gt;
&lt;body&gt;
</pre>
<h2>Okay, but so what?</h2>
<p>Not only does this technique require considerable effort to implement, if the ad that gets written contains a third-party iframe tag, there&#8217;s a good possibility that impression will be counted <strong>twice</strong> on the third-party server.  This is going to cause some significant reporting discrepencies and click-thru percentage is going to be inaccurate.</p>
<p>If you&#8217;re looking to prevent ads from slowing down your page, are concerned about the compatibility and performance issues inherent to friendly-iframes I would not recommend this approach.  Instead, take a look at <a href="http://digital-fulcrum.com/solutions/ghostwriter-complete-control/">Ghostwriter</a>, a solution that gives you the best of both worlds.  </p>
<p><script src=/executionorder/sh/scripts/shCore.js></script><br />
<script src=/executionorder/sh/scripts/shBrushXml.js></script><br />
<script> SyntaxHighlighter.all() </script> </p>
]]></content:encoded>
			<wfw:commentRss>http://digital-fulcrum.com/iframe-reloading-behavior/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

