Title: CCD Traffic Sources
Author: CCDesign.gr
Published: <strong>July 9, 2026</strong>
Last modified: July 9, 2026

---

Search plugins

![](https://ps.w.org/ccd-traffic-sources/assets/banner-772x250.jpg?rev=3601592)

![](https://ps.w.org/ccd-traffic-sources/assets/icon-256x256.jpg?rev=3601592)

# CCD Traffic Sources

 By [CCDesign.gr](https://profiles.wordpress.org/kaxrist/)

[Download](https://downloads.wordpress.org/plugin/ccd-traffic-sources.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/ccd-traffic-sources/#description)
 * [Reviews](https://wordpress.org/plugins/ccd-traffic-sources/#reviews)
 *  [Installation](https://wordpress.org/plugins/ccd-traffic-sources/#installation)
 * [Development](https://wordpress.org/plugins/ccd-traffic-sources/#developers)

 [Support](https://wordpress.org/support/plugin/ccd-traffic-sources/)

## Description

CCD Traffic Sources is a lightweight conversion attribution dashboard for WordPress.
It shows which traffic sources, campaigns, landing pages and contact actions led
to enquiries.

It can capture UTM data, but its main purpose is not only UTM storage. The plugin
records selected conversion actions in a local WordPress dashboard: form submissions,
phone/email clicks, chat clicks and direction clicks. Each event can include first-
touch and current-touch source, medium, campaign, channel, referrer and landing 
page details.

Use it to see which channels, campaigns and landing pages led to forms, calls, email
clicks or chat clicks.

#### What it tracks

 * Form submissions from regular frontend POST forms
 * Elementor Pro forms and common WordPress form plugins, with AJAX success hooks
   where available
 * Phone link clicks using `tel:`
 * Email link clicks using `mailto:`
 * SMS link clicks using `sms:`
 * WhatsApp, Telegram, Viber and Messenger links
 * Direction links for Google Maps, Apple Maps, Waze and `geo:`

#### Features

 * Conversion attribution dashboard with custom date range, event, form and channel
   filters
 * Configurable dashboard metric cards for conversion types and traffic channels
 * First-touch and current-touch source, medium, campaign, channel, landing page
   and referrer
 * UTM tracking for `utm_source`, `utm_medium`, `utm_campaign`, `utm_term` and `
   utm_content`
 * Paid click ID detection for Google Ads, Microsoft Ads, Meta, TikTok, LinkedIn
   and Yandex
 * Hidden attribution fields for Elementor forms and opt-in custom forms
 * Manual JavaScript API for buttons or widgets that do not use standard links
 * Optional consent mode for cookie banner integrations
 * Sourcebuster compatibility mode that can reuse an existing instance
 * Sensitive query parameter stripping before URLs are stored
 * Configurable event retention: 90 days, 180 days, 365 days or never
 * Optional GA4/GTM event sending, disabled by default
 * GTM-friendly `dataLayer` mode that does not load another Google script
 * One custom database table for the conversion log
 * No raw IP address or geolocation storage
 * No jQuery dependency on the frontend

#### Privacy and local storage

By default, CCD Traffic Sources stores conversion events only on your own WordPress
site. It does not send data to external analytics services unless the site administrator
enables the optional GA4/GTM event sending setting.

The plugin uses first-party attribution cookies to associate conversions with their
traffic source. These cookies can include traffic source details, referring URL,
entry page, visit/session counts and browser user agent information. No raw IP addresses
or geolocation data are stored. Sensitive URL parameters commonly used for advertising,
sessions or personal information are removed before URLs are saved.

An optional Consent Mode can delay tracking until visitor consent has been granted.
The plugin also registers suggested privacy policy content in the WordPress Privacy
Policy Guide.

#### Frontend REST event endpoint

CCD Traffic Sources intentionally registers frontend REST endpoints so logged-out
visitors can request a short-lived event token and submit conversion events. These
endpoints are not admin or settings APIs. They do not expose dashboard data and 
cannot create, update or delete WordPress content, users or options.

The event endpoint accepts only supported conversion event payloads. Before an event
is inserted into the plugin’s custom database table, the request must pass a short-
lived event token check, same-site origin/referrer checks, content type validation,
schema validation, payload size limits, duplicate UUID handling and IP-based rate
limiting.

### External services

No external service is contacted by default.

CCD Traffic Sources can connect to Google Analytics / Google Tag Manager only when
the site administrator enables the optional GA4/GTM event sending setting. This 
feature is disabled by default.

Google Analytics / Google Tag Manager is provided by Google LLC and its affiliates.
The plugin uses it to send selected conversion events, such as form submissions 
and supported contact link clicks, to the site’s own Google Analytics or Google 
Tag Manager setup.

When the sending method is set to `GTM dataLayer event`, the plugin pushes a local`
dataLayer` event named `ccdesign_traffic_sources_conversion`. The plugin does not
load a Google script for this method, but the site’s existing Google Tag Manager
container may read that event and send it to Google according to the site’s GTM 
setup.

When the sending method is set to `Use existing gtag only`, the plugin calls the
existing `window.gtag` function if another theme, plugin or custom integration has
already loaded it. The plugin does not load a Google script for this method.

When the sending method is set to `Load gtag.js directly`, the plugin loads Google’s
script from `https://www.googletagmanager.com/gtag/js` on frontend pages where tracking
is active. The configured GA4 Measurement ID is included in the script URL. Standard
browser request information, such as IP address, user agent and referrer, may be
received by Google when this script is requested.

When a tracked conversion event is sent through GA4/GTM, the event data can include
the GA4 event name, the plugin event type, sanitized page path, traffic channel,
current source/medium/campaign, first source/medium/campaign, optional UTM term/
content, and either form metadata such as form system, form ID and form name, or
the contact click type. The plugin does not intentionally send raw IP addresses,
geolocation data, email addresses, phone numbers or full clicked contact targets
to Google.

Google service links:

 * Google Analytics Terms of Service: https://www.google.com/analytics/terms/
 * Google Terms of Service: https://policies.google.com/terms
 * Google Privacy Policy: https://policies.google.com/privacy

### Development

CCD Traffic Sources includes Sourcebuster JS as `assets/js/sbjs.min.js` for first-
party attribution cookies.

Bundled Sourcebuster JS details:

 * Version: 1.0.5
 * License: MIT
 * Upstream source: https://github.com/alex35mil/sourcebuster-js
 * License notices: `third-party-notices.txt`

## Screenshots

[⌊Dashboard overview.⌉⌊Dashboard overview.⌉[

Dashboard overview.

[⌊Filtered paid conversions.⌉⌊Filtered paid conversions.⌉[

Filtered paid conversions.

[⌊Tracking and privacy settings.⌉⌊Tracking and privacy settings.⌉[

Tracking and privacy settings.

[⌊GA4/GTM setup.⌉⌊GA4/GTM setup.⌉[

GA4/GTM setup.

## Installation

 1. Upload the `ccd-traffic-sources` folder to `/wp-content/plugins/`, or install the
    plugin zip through Plugins > Add New.
 2. Activate CCD Traffic Sources.
 3. Submit a frontend form or click a supported contact link.
 4. Open Traffic Sources in the WordPress admin.

## FAQ

### Is this only a UTM grabber?

No. The plugin can capture UTM/source data and fill supported hidden fields, but
its main purpose is a local conversion attribution dashboard for enquiries and contact
actions.

### Which contact links are tracked automatically?

Phone, email, SMS, WhatsApp, Telegram, Viber, Messenger and direction links are 
detected from their URL format. Existing buttons and widgets usually work without
changing the link. Buttons that trigger contact actions only through custom JavaScript
can use the manual tracking API.

### Which form plugins does it work with?

It works with regular frontend POST forms and includes detection labels for Elementor,
Contact Form 7, WPForms, Gravity Forms, Fluent Forms, Formidable Forms, Ninja Forms
and WPBakery-rendered forms. Unsupported forms are still tracked as generic forms
when they submit normally.

### Does it track successful form submissions or submit attempts?

For generic forms, the event is recorded after the browser says the form is valid
and the submit event fires. For supported AJAX flows, the plugin listens for successful
submission events where available. Some custom forms can still reject a submission
server-side without exposing a reliable frontend success event, so treat form tracking
as a conversion signal rather than an authoritative CRM lead total.

### How do I track a custom button that is not a link?

Use the manual JavaScript API after the frontend tracker is loaded:

    ```
    window.CCDTrafficSources.track({ event: 'whatsapp_click', target: 'https://wa.me/...' });
    ```

The event value should be one of the supported event types, such as `form_submit`,`
tel_click`, `mailto_click`, `whatsapp_click`, `viber_click`, `messenger_click` or`
directions_click`.

### Why is the dashboard empty after activation?

The dashboard fills only after a visitor submits a tracked form or clicks a supported
contact link. It does not import old analytics data and it does not count ordinary
pageviews.

### Does it send events to Google Analytics 4?

Only if you enable GA4 events in Settings. The default and recommended method for
sites using Google Tag Manager is `dataLayer`, which lets GTM handle the final GA4
event without the plugin loading `gtag.js`.

### How long is conversion data stored?

The retention setting can delete events after 90, 180 or 365 days, or keep them 
until they are manually removed. The default is 365 days. Uninstalling the plugin
removes plugin options, scheduled cleanup events and the custom event table.

### Will it conflict with WooCommerce Order Attribution or another Sourcebuster install?

The default Sourcebuster mode is Auto Detect. When another plugin already provides
a compatible `window.sbjs` instance, CCD Traffic Sources reuses it instead of loading
another copy.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“CCD Traffic Sources” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ CCDesign.gr ](https://profiles.wordpress.org/kaxrist/)

[Translate “CCD Traffic Sources” into your language.](https://translate.wordpress.org/projects/wp-plugins/ccd-traffic-sources)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/ccd-traffic-sources/),
check out the [SVN repository](https://plugins.svn.wordpress.org/ccd-traffic-sources/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/ccd-traffic-sources/)
by [RSS](https://plugins.trac.wordpress.org/log/ccd-traffic-sources/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * Initial public release.

## Meta

 *  Version **1.0.0**
 *  Last updated **15 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.8 or higher **
 *  Tested up to **7.0.1**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [analytics](https://wordpress.org/plugins/tags/analytics/)[click tracking](https://wordpress.org/plugins/tags/click-tracking/)
   [conversion tracking](https://wordpress.org/plugins/tags/conversion-tracking/)
   [form tracking](https://wordpress.org/plugins/tags/form-tracking/)
 *  [Advanced View](https://wordpress.org/plugins/ccd-traffic-sources/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/ccd-traffic-sources/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/ccd-traffic-sources/reviews/)

## Contributors

 *   [ CCDesign.gr ](https://profiles.wordpress.org/kaxrist/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/ccd-traffic-sources/)