WordPress OSINT, maintenance or security needs? Reach out!
TLDWP

Plugin: datalayer (Used by 41 domains)

DataLayer for GTM and Matomo

👤 Openmost 📦 v1.0.2 🔗 Plugin Homepage

Elevate your website analytics with the DataLayer plugin!
This robust plugin creates a fully populated and standardized dataLayer object, ensuring seamless integration with both Google Tag Manager and Matomo Tag Manager.

  • Instant Setup: Automatically generates and populates a dataLayer object with essential website and user interaction data.
  • Universal Compatibility: Works flawlessly with Google Tag Manager and Matomo Tag Manager, making it easier to manage your tagging needs.
  • Customizable Data: Easily add or modify data points to fit your specific tracking requirements.
  • Performance Optimized: Lightweight and optimized for speed to ensure your site remains fast and responsive.

Get a quick look at all the generated structures!

Archive page `dataLayer` structure

Easy access to your archive data with a standard event name and subject.

{
    "event": "view_archive_date", //_date may be replaces with _tax value
    "page": {
        "type": "archive",
        "title": "january 2025 - Example",
        "url": "https://example.com/2025/01",
        "path": "2025/01",
        "locale": "en_US",
        "archive_type": "date",
        "taxonomy": false,
        "post_type": false,
        "date": {
            "year": 2025,
            "month": 1,
            "day": null
        }
    }
}

Author page `dataLayer` structure

Easy access to all author details on his archive page.

{
    "event": "view_author",
    "page": {
        "id": 1,
        "nickname": "openmost",
        "display_name": "openmost",
        "first_name": "Ronan",
        "last_name": "HELLO",
        "description": "The creator of this super plugin",
        "type": "author",
        "url": "https://example.com/author/openmost",
        "path": "author/openmost",
        "title": "Author: openmost"
    }
}

Error page `dataLayer` structure

This dataLayer structure allows you to easily track the 404 error and detect the referring page that led to this error.
What a great trick yeah?

{
    "event": "view_error_404",
    "page": {
        "type": "error",
        "title": "Page not found - Website",
        "url": "https://example.com/url-that-encountered-a-404-error",
        "path": "/url-that-encountered-a-404-error",
        "locale": "en_US",
        "error_type": "404",
        "http_status_code": 404
    }
}

Search results page `dataLayer` structure

The search key in this object allows you to get the search term and total results to detect invalid searches.
Very useful for Matomo Tag Manager, and nice hack for Google Tag Manager.

{
    "event": "view_search_results",
    "page": {
        "type": "search",
        "url": "https://example.com",
        "path": "",
        "title": "You searched for Demo - Example",
        "locale": "en_US"
    },
    "search": {
        "search": "Demo",
        "search_cat": "",
        "search_count": 3,
        "query": "Demo",
        "found_posts": 3,
        "post_count": 3
    }
}

Home, Post Type `dataLayer` structure (blog posts, custom post type single page)

The following structure is generated for a single post page, but it automatically adapts to your custom post type, page, etc.

{
    "event": "view_single_post",
    "page": {
        "type": "post",
        "id": 1,
        "url": "https://example.com/blog/super-article-path",
        "path": "/blog/super-article-path",
        "title": "Super article title | Example",
        "locale": "en_US",
        "is_home": false,
        "is_front_page": false,
        "post_name": "super-article-path",
        "post_title": "Super article title",
        "post_excerpt": "",
        "post_status": "publish",
        "post_date": "2024-08-17 13:30:00",
        "post_date_gmt": "2024-08-17 13:30:00",
        "post_modified": "2024-08-17 13:30:00",
        "post_modified_gmt": "2024-08-17 13:30:00",
        "post_type_name": "post",
        "post_type_label": "Posts",
        "post_type": {
            "name": "post",
            "label": "Posts",
            "label_singular": "Post",
            "label_plural": "Posts",
            "description": "The super post type description"
        },
        "guid": "https://example.com/?p=1",
        "post_mime_type": false,
        "comment_status": "open",
        "comment_count": "0",
        "author": {
            "id": 1,
            "nickname": "openmost",
            "display_name": "openmost",
            "first_name": "Ronan",
            "last_name": "HELLO",
            "description": "The creator of this super plugin"
        },
        "taxonomies": {
            "category": {
                "name": "category",
                "label": "Categories",
                "description": "",
                "object_type": [
                    "post"
                ],
                "terms": {
                    "Uncategorized": {
                        "term_id": 1,
                        "slug": "uncategorized",
                        "name": "Uncategorized",
                        "term_group": 0,
                        "term_taxonomy_id": 1,
                        "taxonomy": "category",
                        "description": "",
                        "parent": 0,
                        "count": 1,
                        "filter": "raw"
                    }
                },
                "primary_term": [] //Filled only with YoastSEO plugin
            }
        },
        "category": [
            "Uncategorized"
        ],
        "page_template": ""
    }
}

Term and taxonomy page `dataLayer` structure

{
    "event": "view_archive_category", // this event name changed for every taxonomy
    "page": {
        "type": "archive",
        "title": "Uncategorized archives - Example",
        "url": "https://example.com/blog/category/uncategorized",
        "path": "blog/category/uncategorized",
        "locale": "en_US",
        "archive_type": "taxonomy",
        "taxonomy": "category",
        "post_type": "category",
        "date": {
            "year": null,
            "month": null,
            "day": null
        }
    }
}

Pagination `dataLayer` structure

The pagination object structure is automatically added to all pages that have pagination.

Easy access to your pagination data, detect if users are using your pagination as much as you want.

{
    pagination: {
        "posts_per_page": 10,
        "post_count": 1,
        "paged": true,
        "page_number": 2,
        "max_num_pages": 5
    }
}

Authenticated user `dataLayer` structure

The user object is automatically added to all page when user is logged in.

User hashed data with SHA256 is very useful for GDPR consent with Google Ads services and user provided data.

{
    user: {
        "id": 1,
        "user_login": "openmost",
        "user_nicename": "Openmost",
        "user_email": "[email protected]",
        "user_registered": "2024-01-01 12:00:00",
        "display_name": "openmost",
        "roles": [
            "administrator"
        ],
        "sha256_id": "6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b",
        "sha256_user_login": "b2754b994c2fb636d1943ac0170f4ea192a891fb0f09cfdd100a9ffa983f053d",
        "sha256_user_email": "679d031c25e557ee84ca86ecaf333ccd8d3d1a3900ee728da83d79a819daf535"
    }
}

Plugin : Contact Form 7 `dataLayer` structure

This plugin automatically detects the use of WP Contact Form 7.
No configuration needed.

Form submitted

{
    "event": "wpcf7_submit",
    "wpcf7_form_id": 145,
    "wpcf7_form_detail": {} // See wpcf7_form_details below
}

Form with invalid fields

{
    "event": "wpcf7_invalid",
    "wpcf7_form_id": 145,
    "wpcf7_form_detail": {} // See wpcf7_form_details below
}

Form spamming detected

{
    "event": "wpcf7_spam",
    "wpcf7_form_id": 145,
    "wpcf7_form_detail": {} // See wpcf7_form_details below
}

Email sent successfully

{
    "event": "wpcf7_mail_sent",
    "wpcf7_form_id": 145,
    "wpcf7_form_detail": {} // See wpcf7_form_details below
}

Failed to send mail

{
    "event": "wpcf7_mail_failed",
    "wpcf7_form_id": 145,
    "wpcf7_form_detail": {} // See wpcf7_form_details below
}

As each event handles wpcf7_form_details, here is an example of the object values when the form is submitted with invalid fields.

"wpcf7_form_detail": {
        "contactFormId": 145,
        "pluginVersion": "6.0.3",
        "contactFormLocale": "en_US",
        "unitTag": "wpcf7-xxxxxx",
        "containerPostId": 0,
        "status": "validation_failed",
        "inputs": [
            {
                "name": "your-message",
                "value": ""
            },
            {
                "name": "your-name",
                "value": ""
            },
            // All other inputs
        ],
        "formData": {},
        "apiResponse": {
            "contact_form_id": 145,
            "status": "validation_failed",
            "message": "One or more fields contain an error. Please check and try again.",
            "invalid_fields": [
                {
                    "field": "your-name",
                    "message": "Please complete this field..",
                    "idref": "last_name",
                    "error_id": "wpcf7-f145-o1-ve-your-name"
                },
                {
                    "field": "your-first-name",
                    "message": "Please complete this field.",
                    "idref": "first_name",
                    "error_id": "wpcf7-f145-o1-ve-your-first-name"
                },
                // All other invalid fields
            ],
            "posted_data_hash": "",
            "into": "#wpcf7-f145-o1"
        }
    }

Plugin : WP Forms `dataLayer` structure

{
    event: 'wp_forms_submit',
    wp_forms_form_detail: {} // the HTML tag found in DOM
}
DomainExposuresHeadersLast Checked
o*i*i*a*g*t*e*g*a*d.com F 2026-04-21 05:16:11
d*r*s*p*u*.com F 2026-04-19 02:10:06
s*u*h*r*w*n*o*s*u*u*t*.com F 2026-04-15 03:26:38
s*u*h*r*s*d*n*.com F 2026-04-15 03:05:38
s*u*h*r*i*d*s*r*e*.com F 2026-04-15 02:22:38
n*4.southernindustries.com F 2026-04-13 08:47:59
n*3.southernindustries.com F 2026-04-13 08:43:31
i*l*r*p*r*y.co.za 🔓 F 2026-04-13 00:26:39
w*b*s*a*d.io F 2026-04-12 11:37:55
g*i*h*r*e*o*r*a*v.com (WP 6.9.4) F 2026-04-10 20:33:50
g*m*.engie.com A 2026-04-09 15:01:14
c*x*u*o*n*.com D 2026-04-08 11:35:41
c*g*d*m*s*n*e.com D 2026-04-07 22:43:46
s*n*d*a*c*.com F 2026-04-05 14:09:32
a*i*e*h*s*r*i*e*.com (WP 6.9.4) F 2026-04-02 23:08:53
1*i*p*t*h.com 2026-03-29 21:14:46
f*u.se 2026-03-27 18:39:06
p*a*a*e.fr 2026-03-27 06:10:04
a*f*e*o*m*t*o*.fr 2026-03-25 14:03:30
d*l*i*.fr 2026-03-24 13:20:33
m*r*e*i*g*e*e*a*o*s.nl 2025-11-12 06:28:46
l*x*o*i*u*.dk 2025-11-12 06:20:04
l*x*o*i*u*.de 2025-11-12 06:20:04
l*x*o*i*u*.be 2025-11-12 06:20:04
l*x*o*i*u*.nl 2025-11-12 06:20:04
s*i*e*o*l*n*.it 2025-11-12 04:00:02
f*n*y*p*n*a*.fr 2025-11-12 00:49:35
w*l*e*a*t.fr 2025-11-11 22:40:07
v*n*l*i*i*g*u*u*t*.com 2025-11-11 08:45:38
v*s*u*a*h*a*s*o*i*t*s.com 2025-11-11 07:33:00
t*e*r*g*n*l*u*t*r*u*r*.com 2025-11-11 00:13:16
s*d*n*a*g*s*a.com 2025-11-10 12:10:18
s*a*c*-*o*e*i*h*.com 2025-11-10 09:24:12
l*x*o*i*u*.com 2025-11-08 23:25:25
h*m*k*e*e*m*i*a*e*c*.com 2025-11-08 04:29:09
g*t*e*t*c.com 2025-11-07 20:58:16
f*e*m*n*h*t*.com 2025-11-07 18:27:44
e*y*m*j*.com 2025-11-07 10:58:43
e*m*j*l.com 2025-11-07 10:48:36
a*g*s*a*i*i*g.com 2025-11-06 07:07:08
a*t*a*a*d*t.com 2025-11-06 05:36:57

Top 50 Plugins

Plugin Count
elementor 3,059,689
contact-form-7 2,679,626
elementor-pro 1,700,960
woocommerce 1,446,633
revslider 1,016,419
js_composer 651,171
jetpack 506,857
wp-rocket 467,952
essential-addons-for-elementor-lite 457,897
header-footer-elementor 405,650
elementskit-lite 382,705
gutenberg-core 373,297
google-analytics-for-wordpress 341,891
instagram-feed 341,255
google-site-kit 328,106
gravityforms 317,339
cookie-law-info 316,705
complianz-gdpr 315,836
wpforms-lite 293,095
astra-sites 286,764
sitepress-multilingual-cms 270,893
litespeed-cache 254,597
bluehost-wordpress-plugin 254,298
gtranslate 201,441
coblocks 188,234
cookie-notice 183,680
gutenberg 163,456
the-events-calendar 157,541
premium-addons-for-elementor 150,633
popup-maker 148,063
astra-addon 146,898
mailchimp-for-wp 146,882
bb-plugin 145,764
LayerSlider 139,941
wp-smushit 138,186
creame-whatsapp-me 134,703
pro-elements 133,969
custom-fonts 132,259
click-to-chat-for-whatsapp 131,530
tablepress 129,222
woocommerce-gateway-stripe 121,486
duracelltomi-google-tag-manager 119,761
smart-slider-3 117,310
royal-elementor-addons 117,064
sg-cachepress 116,675
cleantalk-spam-protect 116,337
pixelyoursite 115,109
akismet 112,000
megamenu 111,099
fusion-builder 111,077

Top 50 Themes

Theme Count
hello-elementor 964,418
astra 829,891
Divi 785,473
pub 246,901
generatepress 181,057
flatsome 178,571
Avada 165,256
h4 160,564
oceanwp 133,073
kadence 116,705
enfold 97,617
bb-theme 94,519
salient 94,513
twentytwentyfour 91,379
blocksy 91,216
twentytwentyfive 90,926
cocoon-master 86,385
betheme 79,142
twentyseventeen 74,625
woodmart 70,910
dt-the7 64,122
neve 56,497
twentytwentyone 48,766
bridge 47,933
swell 46,064
lightning 41,871
twentytwenty 41,459
twentytwentythree 41,316
Avada-Child-Theme 40,594
gox 38,490
Impreza 33,640
bricks 33,464
Newspaper 31,811
twentytwentytwo 31,339
storefront 25,735
extendable 25,637
epik-redesign 25,593
yith-wonder 25,229
pro 25,188
uncode 24,689
twentysixteen 24,060
themify-ultra 23,734
sydney 23,423
twentyfifteen 22,200
Total 20,953
porto 19,921
hestia 18,657
thrive-theme 17,746
popularfx 17,271
yootheme 17,263