View Full Version : Targeted ads for phpAdsNew
Giving back some more ...
We have 30+ forums, all dedicated to different topics. I wanted to be able to sell targeted banner ads for each of those categories. phpAdsNew is great for serving ads, but I needed to make some quick changes to VB in order to facilitate targeting.
Its easy to just plop in a generic call to phpAdsNew in the "header" template - works easy enough - however, you have no control and no ability to dynamically target those ads to a given forum. Now you can. (If there is another way, someone please tell me).
This is a simple hack, which involves a quick change to "global.php".
In global.php, find:
// figure out the chosen style settings
Below that, add:
// figure out the chosen style settings
// BSB - HACK - Need to populate foruminfo for targeted ads
if(isset($forumid)) {
$getforuminfo=$DB_site->query_first("SELECT title FROM forum WHERE forumid='$forumid'");
$forum_ad_keywords=$getforuminfo[title];
// Replace generic words
$forum_ad_keywords = str_replace(" and ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" the ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" with ", " ", $forum_ad_keywords);
$forum_ad_keywordss = str_replace(" or ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace("/", " ", $forum_ad_keywords);
// Replace spaces with commas (for phpAdsNew OR keywords)
$forum_ad_keywords = str_replace(" ", ",", $forum_ad_keywords);
}
// END HACK
Let me give you an example. Let's say you have 2 forums:
Outdoor Hiking
Wild and Crazy Sex
Strange combination, I know - but bear with me. This hack will create a special variable called "$forum_ad_keywords", which will look like this (using the 2 examples above):
Outdoor,Hiking
Wild,Crazy,Sex
To use these in a template (i.e. header) to grab a target ad, you might try something like:
<a href="/ads/admin/adclick.php?n=$VBRandomX"><img src="/ads/admin/adview.php?n=$VBRandomX&what=$forum_ad_keywords" border="0"></a>
Note: the VBRandomX numbers are another hack. Just put this line in global.php to get some random #'s for the ad call:
$VBRandomX = time();
Easy enough. Not a real great randomizer, but it works for my needs. You want it to do more, have at it.
At any rate, the ad code above would expand to something like:
<a href="/ads/admin/adclick.php?n=993088616"><img src="/ads/admin/adview.php?n=993088616&what=Outdoor,Hiking" border="0"></a>
Now all you need to do is use those keywords when creating accounts within phpAdsNew.
Voila - instant targeted ads.
A robust, scalable targeted ad/sponsorship system should really be a part of the next release - IMHO.
Cheers.
Pingu
06-21-2001, 08:39 PM
I already have ads targeting forums (by their names).
But the problem is just there: those names can get pretty long, and all keywords together for one single banner can make a pretty long line.
So my next step is to add an extra field, with something like forum_short_name
I've tried the forumnumber, but it doesn't work (because the number is a number and not text or something?! I don't know PHP/MySQL well enough)
But a hack like this one is very good :)
eva2000
06-21-2001, 08:46 PM
wow this looks fantastic, i'm using phpadsnew as well on my vB http://animeboards.com
but it does lack targetted ads... gonna try this out
JonnyQuest
06-22-2001, 06:08 PM
Is there anyway you can make this so it pulls the actual title tag of the page? I'm using it to make a keyword search in my store.
Thanks!
Byron
06-29-2001, 12:13 AM
this is a useful hack. thanks
Byron
06-29-2001, 12:26 AM
this is a useful hack. thanks
Lionel
01-25-2002, 12:12 PM
thanks
mvigod
02-14-2002, 03:59 PM
what is the "n=" mean and why bother with the VbRandomX thing you have in this? Is the random thing just for cache busting or does it serve any other purpose?
mvigod
02-16-2002, 11:54 PM
I changed just a little...
// figure out the chosen style settings
// BSB - HACK - Need to populate foruminfo for targeted ads
//if(isset($forumid)) {
// $getforuminfo=$DB_site->query_first("SELECT title FROM forum WHERE forumid='$forumid'");
// $forum_ad_keywords=strtolower($getforuminfo[title]);
// Replace generic words
// $forum_ad_keywords = str_replace(" and ", " ", $forum_ad_keywords);
// $forum_ad_keywords = str_replace(" the ", " ", $forum_ad_keywords);
// $forum_ad_keywords = str_replace(" with ", " ", $forum_ad_keywords);
// $forum_ad_keywords = str_replace(" or ", " ", $forum_ad_keywords);
// $forum_ad_keywords = str_replace("/", " ", $forum_ad_keywords);
// $forum_ad_keywords = str_replace(" & ", " ", $forum_ad_keywords);
// $forum_ad_keywords = str_replace(" for ", " ", $forum_ad_keywords);
// Replace spaces with commas (for phpAdsNew OR keywords)
// $forum_ad_keywords = str_replace(" ", ",", $forum_ad_keywords);
//} else {
// $forum_ad_keywords = 'home';
// }
// END HACK
X-Fan
02-17-2002, 06:45 AM
Just wondering how difficult would it be to incorporate phpAdsNew on a board that runs the vbPortal front end (as it has its own banner rotation system)?
mvigod
02-17-2002, 02:22 PM
I don't think it would be very hard...check out www.ezonemag.com as I think they do it.
as far as targeting to forums I would imagine it's much of the same procedure although I don't have vbportal so not 100% sure.
rinkrat
03-30-2002, 05:45 AM
Where can I get VBRandomX?
I need some random numbers!
SAWolf76
04-07-2002, 11:51 PM
can someone please update this hack? I would like to install it but its kind of confusing and old....
Dejan
05-11-2002, 08:44 PM
Thanks ...
But how to show ads taken from parent forum inside thread pages?
PurpleCow
03-29-2003, 02:15 PM
Hello,
If anyone is using this hack, kindly reply.
I seriously want this hack in working condition for my new vB ver2.3.0.
Any changes in the code..??
Thanks for your help
cnczone
04-11-2003, 10:32 PM
Any new info on this subject?
PurpleCow
04-12-2003, 02:29 AM
I am also interested in this...!!
Does it work with 2.3.0 ??
Thanks much
trafix
04-12-2003, 02:45 AM
I have just removed phpadsnew from my server.... its to confusing and takes ages to add a new banner, whatever...
click on >>--ARROW ADS--> in my sig.
hope this helps :)
cnczone
04-12-2003, 04:20 AM
I got it to work find but I what to use the hack in this thread, to target forums. here is my site using phpadsnew http://cnczone.com
PurpleCow
04-12-2003, 06:14 AM
[QUOTE]Today at 10:09 AM trafix said this in Post #18 (https://vborg.vbsupport.ru/showthread.php?postid=380899#post380899)
I have just removed phpadsnew from my server.... its to confusing and takes ages to add a new banner, whatever...
click on >>--ARROW ADS--> in my sig.
hope this helps :)
Dejan
04-22-2003, 10:31 PM
It works fine in vB 2.30. I am using this code:
// figure out the chosen style settings
// BSB - HACK - Need to populate foruminfo for targeted ads
if(isset($forumid)) {
$getforuminfo=$DB_site->query_first("SELECT title FROM forum WHERE forumid='$forumid'");
$forum_ad_keywords=strtolower($getforuminfo[title]);
// Replace generic words
$forum_ad_keywords = str_replace(" and ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" the ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" with ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" or ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace("/", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" & ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" for ", " ", $forum_ad_keywords);
// Replace spaces with commas (for phpAdsNew OR keywords)
$forum_ad_keywords = str_replace(" ", ",", $forum_ad_keywords);
} else {
$forum_ad_keywords = 'home';
}
// Parent forum inside thread pages
if(isset($threadid)) {
$getforuminfo=$DB_site->query_first("SELECT forum.title FROM forum,thread WHERE threadid='$threadid' AND forum.forumid=thread.forumid");
$forum_ad_keywords=strtolower($getforuminfo[title]);
// Replace generic words
$forum_ad_keywords = str_replace(" and ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" the ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" with ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" or ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace("/", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" & ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" for ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" i ", " ", $forum_ad_keywords);
// Replace spaces with commas (for phpAdsNew OR keywords)
$forum_ad_keywords = str_replace(" ", ",", $forum_ad_keywords);
}
// END HACK
cnczone
04-23-2003, 02:47 AM
Where do I install it?
Dejan
04-23-2003, 09:12 AM
It is the same hack, only add on is for putting keywords of parent forum inside thread pages.
In global.php, find:
// figure out the chosen style settings
Below that, add:
// BSB - HACK - Need to populate foruminfo for targeted ads
if(isset($forumid)) {
$getforuminfo=$DB_site->query_first("SELECT title FROM forum WHERE forumid='$forumid'");
$forum_ad_keywords=strtolower($getforuminfo[title]);
// Replace generic words
$forum_ad_keywords = str_replace(" and ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" the ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" with ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" or ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace("/", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" & ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" for ", " ", $forum_ad_keywords);
// Replace spaces with commas (for phpAdsNew OR keywords)
$forum_ad_keywords = str_replace(" ", ",", $forum_ad_keywords);
} else {
$forum_ad_keywords = 'home';
}
// Parent forum inside thread pages
if(isset($threadid)) {
$getforuminfo=$DB_site->query_first("SELECT forum.title FROM forum,thread WHERE threadid='$threadid' AND forum.forumid=thread.forumid");
$forum_ad_keywords=strtolower($getforuminfo[title]);
// Replace generic words
$forum_ad_keywords = str_replace(" and ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" the ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" with ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" or ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace("/", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" & ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" for ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" i ", " ", $forum_ad_keywords);
// Replace spaces with commas (for phpAdsNew OR keywords)
$forum_ad_keywords = str_replace(" ", ",", $forum_ad_keywords);
}
// END HACK
I am using old version of phpAdsNew and Remote Invocation with JavaScript. For that, in header template put:
<script language="JavaScript" src="http://www.your.path.to.phpadsnew/adjs.php?what=$forum_ad_keywords,+468x60&target=_blank">
</script>
Change 468x60 for the banner size you are using.
cnczone
04-23-2003, 09:43 PM
Thanks for your help, now once I put the code in how do I call a banner to a fourm, do I use the forum name?
Dejan
04-24-2003, 05:07 PM
Yes, just use forum name as keyword.
cnczone
04-24-2003, 06:58 PM
but the banner has to be the right size right? I can just use any banners of different sizes correct?
Dejan
04-26-2003, 06:37 AM
PhpAdsNew is powerful application, you can us any banner and any size of banner. Look in phpAdsNew user-guide for banner invocation code statements and adapt it for your needs.
Imprezer
05-23-2003, 02:24 AM
Ok, so I copy pasted the code from Dejan's post below the "// figure out the chosen style settings".
Then I added key words for banners replacing space in forum name with a ,.
It doesnt work.
I got banners all over the site. It doesnt seem to be looking at the keywords.
What am I doing wrong?
Imprezer
05-23-2003, 02:42 AM
Nevermind.
I figured it out.
Works like a charm.
Imprezer
05-23-2003, 03:49 AM
Hmm, it works, but I need help.
I have 2 forums.
FOR SALE BY VENDORS
FOR SALE BY MEMBERS
How can I type in the keywords, so that when I type: for,sale,by,vendors since there is "by" in the forum title #2, the banner would only show up in the the vendor forum and not the member one.
Thanks!
Dejan
05-23-2003, 08:20 AM
try to not use "by" as keyword
or
try to add "by" in //Replace generic words
Code for your global.php is:
// BSB - HACK - Need to populate foruminfo for targeted ads
if(isset($forumid)) {
$getforuminfo=$DB_site->query_first("SELECT title FROM forum WHERE forumid='$forumid'");
$forum_ad_keywords=strtolower($getforuminfo[title]);
// Replace generic words
$forum_ad_keywords = str_replace(" and ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" the ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" with ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" or ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace("/", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" & ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" for ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" by", " ", $forum_ad_keywords);
// Replace spaces with commas (for phpAdsNew OR keywords)
$forum_ad_keywords = str_replace(" ", ",", $forum_ad_keywords);
} else {
$forum_ad_keywords = 'home';
}
// Parent forum inside thread pages
if(isset($threadid)) {
$getforuminfo=$DB_site->query_first("SELECT forum.title FROM forum,thread WHERE threadid='$threadid' AND forum.forumid=thread.forumid");
$forum_ad_keywords=strtolower($getforuminfo[title]);
// Replace generic words
$forum_ad_keywords = str_replace(" and ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" the ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" with ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" or ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace("/", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" & ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" for ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" i ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" by", " ", $forum_ad_keywords);
// Replace spaces with commas (for phpAdsNew OR keywords)
$forum_ad_keywords = str_replace(" ", ",", $forum_ad_keywords);
}
// END HACK
cleck673
07-10-2003, 05:35 AM
Is anyone still using this. I can not get it working.
Beowulf33
07-13-2003, 07:59 AM
I have this hack working fine on 2.3.0
Beowulf33
08-16-2003, 01:39 AM
I now have this working fine on 3.0 beta 5 as well
Tuan Le
09-02-2003, 01:43 PM
I got this added to the phpinclude_start
require("C:/../../phpadsnew/phpadsnew.inc.php");
if (!isset($phpAds_context)) $phpAds_context = array();
$phpAds_raw = view_raw ('', 0, '', '', '0', $phpAds_context);
$variable_name = $phpAds_raw['html'];
But not sure where I need to put the local invocation code generated by phpadsnew. Do you know where I need to put them? I would greatly appreciated if you can point me to the right direction. :confused: Thanks.
<?php
if (@include('C:/../../phpadsnew/phpadsnew.inc.php')) {
if (!isset($phpAds_context)) $phpAds_context = array();
$phpAds_raw = view_raw ('', 2, '', '', '0', $phpAds_context);
echo $phpAds_raw['html'];
}
?>
Imprezer
10-03-2003, 03:24 AM
So far it is working great.
Is there any way to plug a banner on the main forum page? Forum Home I mean.
Thanks!
- Alex
AmericanWoman
10-20-2003, 06:15 PM
I haven't been able to get the size parameters working properly...if I try to specify a size, the banner disappears altogether. :(
Here is the invocation code I'm testing (remote javascript method):
<!--
if (!document.phpAds_used) document.phpAds_used = ',';
phpAds_random = new String (Math.random()); phpAds_random = phpAds_random.substring(2,11);
document.write ("<" + "script language='JavaScript' type='text/javascript' src='");
document.write ("http://www.acuraworld.com/ads/adjs.php?n=" + phpAds_random);
document.write ("&what=$forum_ad_keywords@width:120");
document.write ("&exclude=" + document.phpAds_used);
if (document.referer)
document.write ("&referer=" + escape(document.referer));
document.write ("'><" + "/script>");
//-->
</script><noscript><a href='http://www.acuraworld.com/ads/adclick.php?n=a1d9c3f2' target='_blank'><img src='http://www.acuraworld.com/ads/adview.php?what=home@width:120&source=http%3A%2F%2 Fwww.acuraworld.com&n=a1d9c3f2' border='0' alt=''></a></noscript>
According to the manual, I replaced the "," delimiters with a "/" and appended the "@" symbol to the end of the string to create a parameter for the entire expression - but it's not working at all. :( I've checked the output of the code to be sure it's picking up the keywords variable, and it is...
Any ideas?
vBulletin® v3.8.12 by vBS, Copyright ©2000-2025, vBulletin Solutions Inc.