Jump to content

[IPS Marketplace] Ads Everywhere

IB Bot

Recommended Posts

  • Management
  • Advertisements Anywhere with CSS Targeting for Placement!
  • Built-In Advertisements After Every X-Number of Forum Posts!
  • Built-In Advertisements After Every X-Number of Forum Topics!
  • Built-In ads.txt 1.1 Management with Output!
  • {specificad='#'} Template Output Plugin to Always Place a Specific Ad Where You Want It No Matter What!
  • ACP Head Block Textarea for You to Put Your Ad Provider JavaScript Primer Scripts in!
  • Works Directly with Invision Community Built-In Ads System, with Enhanced Display!
  • New Top of the Page Ad Placement Option


With certain advertisement applications and plugins soon to no longer work with forthcoming versions of Invision Community (and PHP 8 requirements) for various reasons, I was approached by numerous people to maybe take a run at covering what those things did in a new application. When I realized this would affect a site I am doing work for directly that left me little choice but to actually do this.

This has been tested over the last few weeks (circa October 2022 for anyone reading this down the line) not only on my local development system but also one of my live sites for basic functionality as well as an independent site running a fairly large stack of advertisement loadouts including all the x-before options and Simple CSS advertisement placement.



Simple CSS Advertisement Placing

Place ads anywhere you like with CSS targeting. Seriously. If you can target it (correctly...), the ad will get splashed in. All ads load AFTER your page content has finished loading. HTML, image, and JavaScript ads all tested and working great with this method. All ads loaded are loaded exactly as all other Invision Community ads are loaded, respecting dates available, groups that can view, and so on (this applies to all ads used in Ads Everywhere btw). 


Ads After X-Number Placing

Don't feel like CSS targeting and just want ads all up in your forum topics and posts? Just like it sounds. Radio check-dots for selection of after numbers and away you go. It's that easy. NOTE: Forcing an ad after the last topic or post on a page is one of the first updates this application will get. If I keep adding features this would never get released... No worries - it'll happen (or you can get creative with Simple CSS ad targeting in the meantime).


ads.txt 1.1 Management and Output

Full control and management. Support for OWNERDOMAIN, INVENTORYPARTNER, CONTACT, SUBDOMAIN, MANAGERDOMAIN, and exchanges of course. If you have only a few entries, use the table database management features. If you are under a single advertisement management regime and they provide you with a weekly or monthly ads.txt loadout that you are to use (and these can be MASSIVELY long), save your self oodles of trouble uploading said file to your server all the time and instead use the custom block that is here for just that reason. Preview the file as it will be output right there in the ACP.

When it is time for output if you are on IPS Community in the Cloud, ads.txt is output automatically for you when requested. For those of you self-hosted, the same is available though if you do not have rewrites enabled or rewrites is not set in a certain way, the automatic output will fail. No worries! Everyone (CIC included) can always download the file for backup purposes and self-hosters can use it to upload to their server themselves. Or, an exclusive feature for self-hosters, they can write the file out directly to their server from the ACP. No muss! No fuss!


{specificad='#'} Template Output Plugin

If you like you can load an ad based on its ID number instead of loading by location. Location loads will take all advertisements available under that location flag and choose from them based upon certain choices you make (oldest, random, least impressions, etc.). You can use this output tag to always no matter what load a specific ad in a specific location. This still respects the usual advertisements checks on group permissions to view, dates made available, etc. It is just another way of loading an advertisement.


ACP Head Block

Simple textarea for you to stick in you JavaScript ad providers primer code. This is usually a single code block though sometimes more than one such as loading an external script and then a script block that does the actual ad priming, that does the setup and inits for the ad network in question. This area will save you from editing your global theme templates to insert same. Just do so here instead and if you ever need to change things come back here and save yourself template editing. See the notes below. Note you can also stick anything else you need in the <head> section of your global template here - fonts, other JavaScript loads, etc...


Enhanced ACP Advertisements View

When viewing all advertisements in the ACP, you will now see the location or locations you have applied to each ad, the ID number of the ad itself, and on hover over the locations, the location name you would use when using the {advertisement=""} output plugins in your templates.


Top of Page Placement

Might not be for everyone but I know at least one person asked about this. Yes. The very top of the page. This is like all the other default advertisement locations; treat it as such.



1) When using advertisement providers that provide you with JavaScript code to insert in the <head> area of your global template, you MUST add the async flag to those inserts e.g. <script async whatever whatever....>STUFF</script>. This is best practice anyways.

2) When sticking in JavaScript ad blocks and toggling their use across multiple areas on the same page, if those ad blocks share a single id you will probably run into problems. This has nothing to do with Ads Everywhere; it is just basic Internet Ads 101, but I want to get ahead of support questions on this right now. In other words, I'm glad to be helpful, but be helpful to yourself and read up on how JavaScript ads work before coming to the support topic and asking why things aren't working.

3) When using the Simple CSS advertisement placement option, if your CSS target is syntactically wrong or flat out misses the target, nothing will be inserted. Try, try again! You can also ask (nicely...) in the support topic. Others, and myself, will likely be glad to help (maybe not immediately though - patience please).

4) Using Simple CSS to insert ads into the page, depending on the advertisement html code inserted and the location you stick it in, may interfere with some page formatting and JS in place already. You may need to adjust your targeting, your html ad code (wrapping JS or otherwise) or pick a better location. Feel free to take this to the support topic if you encounter it.

5) This application has nothing to do with any ad network loading troubles or CORS problems you may see in your JS console when inspecting a page on your site. Those that know, know: ad networks utilizing JS and real-time bidding will pop in stuff that will just error on load for an insanely large number of reasons. But again, a reminder: for page <head> ad network JS code inserts, do not forget async!



Keep in mind most purchasers do not renew when the item expires unless they have to, meaning either new features they want or their old version is now incompatible with future Invision Community or server requirements. This is fine. If you are rolling in money (and why not with all the ads you guys are showing 😅 ), by all means, please keep up with renewals. Regular renewals are INCENTIVES for devs to keep deving. Otherwise, I understand - it's fine. Keep in mind though if you catch me on a feisty day and ask for support in the support topic and I happen to see you are out on renewal...



Stuff already alluded to above, some more ads.txt enhancements, Google AdSense page blocks, etc. Not immediately though, kinda slammed for the obvious reasons going around...


INITIAL RELEASE PRICING -  Get in on the ground floor while you can!

View the modification's page

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.