Delivering ads, ad management

Author Message

Piotrek Karaś

Tuesday 18 March 2008 12:17:51 am

Hi,

I've just discovered that there are very few discussions or other resources for that matter, that are concerned with delivering advertisements with an eZ Publish installation. This would mean that either this is not an issue (it's simple enough) and/or that very few people deal with "ad-driven" sites. Actually, the latter would be surprising, if we take the eZ's media clients focus into account.

It would be great if you could share some of your experiences or thoughts on this.

For example:
- How do you serve your ads? (as content, with eZ Flow, with ad server integrations, other...)
- How do you deliver contextual ads?
- How do you deal with zone inheritance (so that a node and all/selected of its sub items have the same ad)?
- What are your clients' usual expectations?

Hope we can put some information together in this topic.

Thanks,
Piotrek

--
Company: mediaSELF Sp. z o.o., http://www.mediaself.pl
eZ references: http://ez.no/partners/worldwide_partners/mediaself
eZ certified developer: http://ez.no/certification/verify/272585
eZ blog: http://ez.ryba.eu

André R.

Tuesday 18 March 2008 2:24:46 am

I can only talk about the projects I have worked on.

One large eZ Publish user has a custom made tag system to tag nodes or subtrees for ads, ads are delivered by external server with javascript tags in the page layout.

On most newspaper sites, they use some sort of ad server that uses javascript tags in the page layout.

I have worked on a site that used phpads, but because of performance issues they had to change it out for something else. I have not tested newer version however (openads).

http://ez.no/developer/contribs/3rd_party/extension_phpadsnew_pubsvn
http://ez.no/developer/contribs/template_plugins/openads_2_3_max_media_manager_template_plugin

eZ Online Editor 5: http://projects.ez.no/ezoe || eZJSCore (Ajax): http://projects.ez.no/ezjscore || eZ Publish EE http://ez.no/eZPublish/eZ-Publish-Enterprise-Subscription
@: http://twitter.com/andrerom

Piotrek Karaś

Tuesday 18 March 2008 5:18:54 am

<i>On most newspaper sites, they use some sort of ad server that uses javascript tags in the page layout.</i>

Any examples? URLs?

--
Company: mediaSELF Sp. z o.o., http://www.mediaself.pl
eZ references: http://ez.no/partners/worldwide_partners/mediaself
eZ certified developer: http://ez.no/certification/verify/272585
eZ blog: http://ez.ryba.eu

Mark Marsiglio

Tuesday 18 March 2008 6:44:35 am

We have used this plugin on a few sites. It is a fairly capable, if not a bit complex, open source ad server. They have upgraded the ad server software since this extension.

http://ez.no/developer/contribs/template_plugins/openads_2_3_max_media_manager_template_plugin

http://www.thinkcreative.com
Turning Ideas Into Strategic Solutions

Piotrek Karaś

Tuesday 18 March 2008 10:31:34 pm

Hello Mark,

Yes, I do know this ad server. I've also just analyzed the extension - it simply calls ad zones from within the ad server. I'm little more interested in the eZ side, though. How would use that - fixed operator calls in the templates or as a tag in XMLBlock?

Have you guys had to deal with a situation, when a client wants to manage a particular advertisement location (lets say the main billboard) in a advanced way, for example to assign his campaigns to selected areas of the site (for example: home page, one particular category of articles and the registration page)?

Thanks,
Piotrek

--
Company: mediaSELF Sp. z o.o., http://www.mediaself.pl
eZ references: http://ez.no/partners/worldwide_partners/mediaself
eZ certified developer: http://ez.no/certification/verify/272585
eZ blog: http://ez.ryba.eu

Mark Marsiglio

Wednesday 19 March 2008 5:29:17 am

Yes - we have a current installation which uses an external ad server similar to OpenAds (but a hosted system) and we control the placement of the ads through a new class called Ad Tag.

The class includes only a memo and the tag code, and then our templates look for that object and assign the tag in the JS for the ad zones. We treat it as a cascade, so it picks up the ad tag and applies to to the object and all of its subitems in the tree. If they add another ad tag in a subsection, it overrides the default one placed under the home page.

The zones are fixed (leaderboard, skyscraper, etc) but the content of those zones is specified by the tags specified by the client.

This is the code we use in pagelayout:

{def $start_node = first_set($DesignKeys:used.node, 2)}

{let checkarray=fetch( 'content', 'node', hash( 'node_id', $start_node )).path_array|reverse
     ad_tag_nodes=array()
}


{foreach $checkarray as $thisnodeinpathid}

	{set ad_tag_nodes = fetch('content', 'list', hash('parent_node_id', $thisnodeinpathid, class_filter_type, 'include', class_filter_array, array('ad_tag')))}

	{if $ad_tag_nodes|count}
	{break}
	{/if}

{/foreach}

{if $ad_tag_nodes|count}

<!-- BEGIN RICH-MEDIA ADCONDUCTOR CODE -->
<script language="JavaScript">
rnum=Math.round(Math.random() * 100000);
document.write('<SCR'+'IPT SRC="http://ads.addesktop.com/cgi-bin/ads/ad{$ad_tag_nodes[0].name|trim|wash}.cgi/RS={$ad_tag_nodes[0].data_map.size_string.content|trim|wash}/KW={cond($ad_tag_nodes[0].data_map.keywords.has_content,$ad_tag_nodes[0].data_map.keywords.content.keyword_string|wash,'KEYWORD')}/V=3.0R/'+rnum+'/CNW/RETURN-CODE/"></SCR'+'IPT>');
</script>
<!-- END ADCONDUCTOR CODE -->

{/if}

{/let}

http://www.thinkcreative.com
Turning Ideas Into Strategic Solutions

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.

eZ debug

Timing: Jan 18 2025 19:28:45
Script start
Timing: Jan 18 2025 19:28:45
Module start 'layout'
Timing: Jan 18 2025 19:28:45
Module start 'content'
Timing: Jan 18 2025 19:28:46
Module end 'content'
Timing: Jan 18 2025 19:28:46
Script end

Main resources:

Total runtime1.0497 sec
Peak memory usage4,096.0000 KB
Database Queries68

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0070 589.0234152.6250
Module start 'layout' 0.00700.0036 741.648439.4453
Module start 'content' 0.01051.0378 781.0938638.8047
Module end 'content' 1.04830.0014 1,419.898420.1641
Script end 1.0497  1,440.0625 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00310.2986160.0002
Check MTime0.00130.1272160.0001
Mysql Total
Database connection0.00140.136110.0014
Mysqli_queries0.973792.7564680.0143
Looping result0.00110.1083660.0000
Template Total1.016596.820.5083
Template load0.00220.211220.0011
Template processing1.014396.625420.5071
Template load and register function0.00010.011110.0001
states
state_id_array0.00130.126410.0013
state_identifier_array0.00190.181220.0010
Override
Cache load0.00190.1772450.0000
Sytem overhead
Fetch class attribute can translate value0.00140.132230.0005
Fetch class attribute name0.00180.172390.0002
XML
Image XML parsing0.00150.146930.0005
class_abstraction
Instantiating content class attribute0.00000.0025120.0000
General
dbfile0.00120.1185290.0000
String conversion0.00000.001340.0000
Note: percentages do not add up to 100% because some accumulators overlap

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplfull/forum_topic.tplextension/sevenx/design/simple/override/templates/full/forum_topic.tplEdit templateOverride template
6content/datatype/view/ezimage.tpl<No override>extension/sevenx/design/simple/templates/content/datatype/view/ezimage.tplEdit templateOverride template
6content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
10content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
4content/datatype/view/ezxmltags/line.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/line.tplEdit templateOverride template
1content/datatype/view/ezxmltags/literal.tpl<No override>extension/community/design/standard/templates/content/datatype/view/ezxmltags/literal.tplEdit templateOverride template
1print_pagelayout.tpl<No override>extension/community/design/community/templates/print_pagelayout.tplEdit templateOverride template
 Number of times templates used: 29
 Number of unique templates used: 7

Time used to render debug report: 0.0001 secs