Drupal is a registered trademark of Dries Buytaert
drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)! drupal 11.3.6 Update released for Drupal core (11.3.6)! drupal 10.6.6 Update released for Drupal core (10.6.6)! cms 2.1.0 Update released for Drupal core (2.1.0)! bootstrap 8.x-3.40 Minor update available for theme bootstrap (8.x-3.40). menu_link_attributes 8.x-1.7 Minor update available for module menu_link_attributes (8.x-1.7). eca 3.1.1 Minor update available for module eca (3.1.1). layout_paragraphs 2.1.3 Minor update available for module layout_paragraphs (2.1.3). ai 1.3.3 Minor update available for module ai (1.3.3). ai 1.2.14 Minor update available for module ai (1.2.14). node_revision_delete 2.0.3 Minor update available for module node_revision_delete (2.0.3). moderated_content_bulk_publish 2.0.52 Minor update available for module moderated_content_bulk_publish (2.0.52). klaro 3.0.10 Minor update available for module klaro (3.0.10). klaro 3.0.9 Minor update available for module klaro (3.0.9). layout_paragraphs 2.1.2 Minor update available for module layout_paragraphs (2.1.2). geofield_map 11.1.8 Minor update available for module geofield_map (11.1.8).

basic_ads

1 sites No security coverage
View on drupal.org

Basic Ads

Provides ad management with placements, scheduling, and display blocks. Includes impression and click tracking with a statistics dashboard, and automatically unpublishes expired ads via cron.

Submit bug reports and feature suggestions, or track changes in the issue queue.

Requirements

This module requires no modules outside of Drupal core.

It depends on the following core modules: Node, Taxonomy, Datetime, Image, Text, Link, Views, and Block.

Installation

Install as you would normally install a contributed Drupal module. For further information, see Installing Drupal Modules.

On installation the module will automatically create:

  • A "Basic Ad Placement" taxonomy vocabulary with default terms (Header, Sidebar, Footer, Content Top, Content Bottom)
  • A "Basic Ad" content type with image, link, placement, scheduling, and weight fields
  • A "Basic Ads" View with a block display for placement-based rendering
  • Database tables for impression and click tracking

Configuration

  1. Go to Administration > Structure > Taxonomy > Basic Ad Placement to add, edit, or delete placement terms.
  2. Go to Administration > Content > Add Content > Basic Ad to create an advertisement. Assign one or more placement terms.
  3. Go to Structure > Block Layout and place a "Basic Ad block (by placement)" block in the region of your choice. Select a placement term to filter which ads display.
  4. Go to Administration > Configuration > System > Basic Ads Settings to exclude roles from ad tracking.
  5. Go to Administration > Reports > Basic Ad Reporting to view ad statistics including impressions, clicks, and CTR.

Scheduling

  • Leave Start Date empty for immediate display, or set a future date.
  • Leave End Date empty for no expiration, or set an end date.
  • Expired ads are automatically unpublished by cron.

Tracking and privacy

  • Impressions are tracked client-side via JavaScript when ads render in a placement block.
  • Clicks are tracked server-side through a redirect endpoint.
  • IP addresses are automatically anonymized (IPv4 last octet zeroed, IPv6 truncated to 48 bits).
  • Old tracking data (older than 1 year) is automatically purged via cron.

Troubleshooting

Ads not displaying:

  • Check that ads are published.
  • Verify the ad placement term matches the block configuration.
  • Check start/end dates are correct.
  • Ensure the block is placed in a visible region.
  • Clear Drupal cache.

Impressions not tracking:

  • Check the browser network tab for /ad/view/ requests to verify the tracking library is loading.
  • Ensure the ad has a placement (tracking only fires when a placement is present).
  • Check that the current user's role is not excluded in Configuration > System > Basic Ads Settings.

Schedule not working:

  • Ensure cron is running regularly for expired ad cleanup.
  • Check your site's timezone settings.
  • Clear cache after changing dates.

Maintainers

Activity

Total releases
7
First release
Dec 2025
Latest release
3 weeks ago
Release cadence
18 days
Stability
71% stable

Release Timeline

Releases

Version Type Release date
1.1.4 Stable Mar 24, 2026
1.1.3 Stable Mar 24, 2026
1.1.2 Stable Jan 23, 2026
1.1.x-dev Dev Jan 4, 2026
1.1.1 Stable Jan 1, 2026
1.0.1 Stable Dec 5, 2025
1.0.x-dev Dev Dec 5, 2025