Forums / General / Delivering ads, ad management

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

eZ debug

Timing: Jan 18 2025 16:19:03
Script start
Timing: Jan 18 2025 16:19:03
Module start 'content'
Timing: Jan 18 2025 16:19:04
Module end 'content'
Timing: Jan 18 2025 16:19:04
Script end

Main resources:

Total runtime0.7475 sec
Peak memory usage4,096.0000 KB
Database Queries205

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0071 589.1328180.8438
Module start 'content' 0.00720.6206 769.9766643.8828
Module end 'content' 0.62770.1196 1,413.8594345.0703
Script end 0.7474  1,758.9297 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00400.5305210.0002
Check MTime0.00150.1941210.0001
Mysql Total
Database connection0.00100.128410.0010
Mysqli_queries0.669789.59352050.0033
Looping result0.00210.27512030.0000
Template Total0.722096.620.3610
Template load0.00200.261420.0010
Template processing0.720196.335620.3600
Template load and register function0.00010.011010.0001
states
state_id_array0.00070.097310.0007
state_identifier_array0.00100.135120.0005
Override
Cache load0.00170.2231450.0000
Sytem overhead
Fetch class attribute can translate value0.00120.162040.0003
Fetch class attribute name0.00130.176590.0001
XML
Image XML parsing0.00140.191140.0004
class_abstraction
Instantiating content class attribute0.00000.0029120.0000
General
dbfile0.00350.4714400.0001
String conversion0.00000.000930.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

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
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 29
 Number of unique templates used: 7

Time used to render debug report: 0.0002 secs