I'm using phpAdsNew with local invocation. No messy JavaScript on my site :)
cscgal
The Queen of DaniWeb
19,421 posts since Feb 2002
Reputation Points: 1,474
Solved Threads: 229
I'm using phpAdsNew with javascript invocation, which allows me to run my ad server on one location and serve ads on multiple websites and multiple servers. I'm not sure why javascript is "messy" because it's a solution that's worked well for me.
I'm curious, cscgal, how are you targeting ads for a specific forum or forums?
BigBlueBall
Junior Poster in Training
54 posts since Dec 2004
Reputation Points: 10
Solved Threads: 1
phpAdsNew allows you to specify a "source" for an advertisement (i.e. page1, page2, etc.), for logging purposes. I have customized my vBulletin to make this source be the name of a forum. JavaScript is messy because it is a client-side language, which means it is interpreted by the web browser instead of the server.
cscgal
The Queen of DaniWeb
19,421 posts since Feb 2002
Reputation Points: 1,474
Solved Threads: 229
I still don't think Javascript is really "messy." :)
I see the option to specify a source. Does this work with the vBulletin querystring (i.e. f=127) or do you need to first install your mod_rewrite code for vBulletin?
BigBlueBall
Junior Poster in Training
54 posts since Dec 2004
Reputation Points: 10
Solved Threads: 1
If you use the JavaScript invocation in your templates, you should be able to use source=$forumid within the URL.
cscgal
The Queen of DaniWeb
19,421 posts since Feb 2002
Reputation Points: 1,474
Solved Threads: 229
If you use the JavaScript invocation in your templates, you should be able to use source=$forumid within the URL.
I would love to be able to serve targeted ads based on the source, but would like to do that not just for the forumdisplay, but also all topics within a given forum.
For example, if the forum was about games, I would want to target gamers throughout the topics in that forum, while another forum at the same site might target music fans. But the forumid isn't used in the URLs of indidual threads.
BigBlueBall
Junior Poster in Training
54 posts since Dec 2004
Reputation Points: 10
Solved Threads: 1
BigBlueBall, are you using vBulletin? If so, it doesn't matter. The thread templates still have access to the $forumid variables. Not sure how it works in other forum systems, but either way, I would assume that all threads have access to the forum ID they are part of.
cscgal
The Queen of DaniWeb
19,421 posts since Feb 2002
Reputation Points: 1,474
Solved Threads: 229
BigBlueBall, are you using vBulletin? If so, it doesn't matter. The thread templates still have access to the $forumid variables. Not sure how it works in other forum systems, but either way, I would assume that all threads have access to the forum ID they are part of.
Yes, I'm using vBulletin, but I'm a little confused on how to use thesource delivery option to retrieve the forumid info. I thought source looked at the URL of the current page.
BigBlueBall
Junior Poster in Training
54 posts since Dec 2004
Reputation Points: 10
Solved Threads: 1
Nono. Source can be anything. It's simply a parameter that phpAdsNew allows you to pass in. In this case, you'll want to make it your forumid. So in the ad tag for phpAdsNew, where it says source= make sure it says source=$forumid
Then, let's say a particular campaign just wants to run in forumid 4. When setting up the campaign, go to Limitations and set a limit to only display the ad when source == 4.
cscgal
The Queen of DaniWeb
19,421 posts since Feb 2002
Reputation Points: 1,474
Solved Threads: 229
Ok Dani, sorry for being so dense but I think I'm getting it.
Banner Settings
On the Delivery Options tab I set Source is equal to and supply the integer representing the forum I want the ad to appear in.
Zone Settings > Invocation Code
Here in the "source" field I enter the text "$forumid" which in turn generates the following invocation code:
<script language='JavaScript' type='text/javascript'>
<!--
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.bigbluenetwork.com/a/adjs.php?n=" + phpAds_random);
document.write ("&what=zone:17&source=%24forumid");
document.write ("&exclude=" + document.phpAds_used);
if (document.referer)
document.write ("&referer=" + escape(document.referer));
document.write ("'><" + "/script>");
//-->
</script><noscript><a href='http://www.bigbluenetwork.com/a/adclick.php?n=aae8f62b' target='_blank'><img src='http://www.bigbluenetwork.com/a/adview.php?what=zone:17&source=%24forumid&n=aae8f62b' border='0' alt=''></a></noscript>
Unfortunately, when I try this, I don't get ANY ads served (I don't have a chain setup either). I think I'm missing something here.
BigBlueBall
Junior Poster in Training
54 posts since Dec 2004
Reputation Points: 10
Solved Threads: 1
You have source=%24forumid
That's how phpAdsNew displays the code. Change that to source=$forumid as soon as you paste it where you want it.
cscgal
The Queen of DaniWeb
19,421 posts since Feb 2002
Reputation Points: 1,474
Solved Threads: 229
Thank you so much Dani! That did the trick. I mistakenly assumed that the phpAdsNew generated invocation code would be correct. I guess the ? tripped it up. :)
BigBlueBall
Junior Poster in Training
54 posts since Dec 2004
Reputation Points: 10
Solved Threads: 1
%24 is the representation for $ when the $ character isn't accessible (I believe that's how it works). Regardless, the $forumid variable wasn't being populated where you wanted it to be.
cscgal
The Queen of DaniWeb
19,421 posts since Feb 2002
Reputation Points: 1,474
Solved Threads: 229