PDA

View Full Version : Targeted ads for phpAdsNew


06-20-2001, 10:00 PM
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 ("&amp;what=$forum_ad_keywords@width:120");
document.write ("&amp;exclude=" + document.phpAds_used);
if (document.referer)
document.write ("&amp;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&amp;source=http%3A%2F%2 Fwww.acuraworld.com&amp;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?