{"id":327358,"date":"2026-06-21T11:38:49","date_gmt":"2026-06-21T11:38:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/gtmfunnels\/"},"modified":"2026-10-12T09:49:15","modified_gmt":"2026-10-12T09:49:15","slug":"gtmfunnels","status":"publish","type":"plugin","link":"https:\/\/bre.wordpress.org\/plugins\/gtmfunnels\/","author":23519776,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"7.1.3","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"GTMFunnels","header_author":"GTMFunnels","header_description":"Display GTMFunnels AI chatbots on any WordPress page via shortcode or global floating button.","assets_banners_color":"feffff","last_updated":"2026-10-12 09:49:15","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.gtmfunnels.ai\/wp-plugin","header_author_uri":"https:\/\/www.gtmfunnels.ai","rating":5,"author_block_rating":0,"active_installs":0,"downloads":339,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"dripadmin","date":"2026-06-21 11:57:15","revision":3580615},"1.1.0":{"tag":"1.1.0","author":"dripadmin","date":"2026-10-12 09:49:15","revision":3741007}},"upgrade_notice":{"1.1.0":"<p>Security hardening release. Recommended for all users.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3580596,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3580596,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3580596,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3580596,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3580596,"resolution":"1","location":"assets","locale":"","width":1867,"height":821},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3580596,"resolution":"2","location":"assets","locale":"","width":1901,"height":492},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3580596,"resolution":"3","location":"assets","locale":"","width":1886,"height":782},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3580596,"resolution":"4","location":"assets","locale":"","width":1885,"height":860},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3580596,"resolution":"5","location":"assets","locale":"","width":1891,"height":879},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3580596,"resolution":"6","location":"assets","locale":"","width":1919,"height":940},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3580596,"resolution":"7","location":"assets","locale":"","width":1805,"height":875},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3580596,"resolution":"8","location":"assets","locale":"","width":1860,"height":888},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3580596,"resolution":"9","location":"assets","locale":"","width":1800,"height":860}},"screenshots":{"1":"The GTMFunnels chat assistant shown as a floating widget on a live WordPress page.","2":"My Funnels admin page \u2014 browse your funnels and copy the shortcode or funnel code in one click.","3":"Settings page \u2014 enter your API key, test the connection, and enable the global floating chatbot.","4":"Your GTMFunnels account \u2014 the list of chat funnels available to embed.","5":"GTMFunnels dashboard \u2014 funnel views and conversion analytics.","6":"Front-end chat widget collecting a visitor's email to start the conversation.","7":"Agents &amp; Blueprints \u2014 the AI agent that powers your chat funnel.","8":"Chat funnel settings \u2014 assign an AI agent to a funnel.","9":"Chat widget settings \u2014 customize colors, title, and lead-generation options."}},"plugin_section":[],"plugin_tags":[15643,2353,14160,2364,29408],"plugin_category":[],"plugin_contributors":[268207],"plugin_business_model":[],"class_list":["post-327358","plugin","type-plugin","status-publish","hentry","plugin_tags-agents","plugin_tags-ai","plugin_tags-chat-widget","plugin_tags-chatbot","plugin_tags-funnel","plugin_contributors-gtmfunnels","plugin_committers-dripadmin","plugin_committers-gtmfunnels"],"banners":{"banner":"https:\/\/ps.w.org\/gtmfunnels\/assets\/banner-772x250.png?rev=3580596","banner_2x":"https:\/\/ps.w.org\/gtmfunnels\/assets\/banner-1544x500.png?rev=3580596","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/gtmfunnels\/assets\/icon-128x128.png?rev=3580596","icon_2x":"https:\/\/ps.w.org\/gtmfunnels\/assets\/icon-256x256.png?rev=3580596","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/gtmfunnels\/assets\/screenshot-1.png?rev=3580596","caption":"The GTMFunnels chat assistant shown as a floating widget on a live WordPress page."},{"src":"https:\/\/ps.w.org\/gtmfunnels\/assets\/screenshot-2.png?rev=3580596","caption":"My Funnels admin page \u2014 browse your funnels and copy the shortcode or funnel code in one click."},{"src":"https:\/\/ps.w.org\/gtmfunnels\/assets\/screenshot-3.png?rev=3580596","caption":"Settings page \u2014 enter your API key, test the connection, and enable the global floating chatbot."},{"src":"https:\/\/ps.w.org\/gtmfunnels\/assets\/screenshot-4.png?rev=3580596","caption":"Your GTMFunnels account \u2014 the list of chat funnels available to embed."},{"src":"https:\/\/ps.w.org\/gtmfunnels\/assets\/screenshot-5.png?rev=3580596","caption":"GTMFunnels dashboard \u2014 funnel views and conversion analytics."},{"src":"https:\/\/ps.w.org\/gtmfunnels\/assets\/screenshot-6.png?rev=3580596","caption":"Front-end chat widget collecting a visitor's email to start the conversation."},{"src":"https:\/\/ps.w.org\/gtmfunnels\/assets\/screenshot-7.png?rev=3580596","caption":"Agents &amp; Blueprints \u2014 the AI agent that powers your chat funnel."},{"src":"https:\/\/ps.w.org\/gtmfunnels\/assets\/screenshot-8.png?rev=3580596","caption":"Chat funnel settings \u2014 assign an AI agent to a funnel."},{"src":"https:\/\/ps.w.org\/gtmfunnels\/assets\/screenshot-9.png?rev=3580596","caption":"Chat widget settings \u2014 customize colors, title, and lead-generation options."}],"raw_content":"<!--section=description-->\n<p>GTMFunnels integrates AI-powered agents and chat widgets from the GTMFunnels platform into your WordPress site. Connect your GTMFunnels account with an API key and embed AI enabled chat funnels anywhere on your site.<\/p>\n\n<p><strong>Features:<\/strong><\/p>\n\n<ul>\n<li>Connect via API key \u2014 no copy-pasting embed code manually.<\/li>\n<li>Global floating chatbot \u2014 enable a sitewide chat widget from the Settings page.<\/li>\n<li>Shortcode support \u2014 embed a specific funnel on any page or post with <code>[gtmfunnels_chat funnel_code=\"YOUR_FUNNEL_CODE\"]<\/code>.<\/li>\n<li>My Funnels page \u2014 browse all your funnels and copy shortcodes in one click.<\/li>\n<li>Transient caching \u2014 API responses are cached for 5 minutes to keep your site fast.<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to the GTMFunnels API to fetch your chat funnels and embed codes. Your API key is transmitted with each request. The plugin stores your API key (encrypted) and settings in the WordPress options table, a short-lived (5-minute) transient cache of API responses, and, only when API logging is enabled (development sites, or live sites that define GTMFUNNELS_DEBUG_LOG in wp-config.php), redacted API responses in the gtmfunnels_logs table.<\/p>\n\n<p>When a chat widget is shown, your visitors' browsers load a script from https:\/\/app.gtmfunnels.ai\/ (chat-widget-plugin.js). The widget sends the messages visitors type into the chat, along with technical data such as their IP address, to GTMFunnels so the chatbot can respond. This happens only on pages where a GTMFunnels widget is displayed.<\/p>\n\n<ul>\n<li>API endpoint (production): https:\/\/api.gtmfunnels.ai\/api\/v1\/<\/li>\n<li>Privacy Policy: https:\/\/www.gtmfunnels.ai\/privacypolicy<\/li>\n<li>Terms of Service: https:\/\/www.gtmfunnels.ai\/termsofuse<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>wp-gtmfunnels<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install via the WordPress plugin installer.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen in WordPress.<\/li>\n<li>Go to <strong>GTMFunnels \u2192 Settings<\/strong> and enter your API key (generate one in GTMFunnels under My Account \u2192 API Keys).<\/li>\n<li>Optionally enable the global floating chatbot and select a funnel.<\/li>\n<li>Use the <code>[gtmfunnels_chat funnel_code=\"YOUR_FUNNEL_CODE\"]<\/code> shortcode on any page to embed a specific funnel.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20do%20i%20get%20an%20api%20key%3F\"><h3>Where do I get an API key?<\/h3><\/dt>\n<dd><p>Log in to your GTMFunnels account, go to <strong>My Account \u2192 API Keys<\/strong>, and create a key with <code>funnels:read<\/code>, <code>chat:read<\/code>, and <code>chat:write<\/code> scopes.<\/p><\/dd>\n<dt id=\"can%20i%20embed%20a%20different%20chatbot%20on%20each%20page%3F\"><h3>Can I embed a different chatbot on each page?<\/h3><\/dt>\n<dd><p>Yes. Use the shortcode <code>[gtmfunnels_chat funnel_code=\"YOUR_FUNNEL_CODE\"]<\/code> on individual pages or posts. When a shortcode is present, the global floating widget is suppressed for that page.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20cache%20api%20responses%3F\"><h3>Does the plugin cache API responses?<\/h3><\/dt>\n<dd><p>Yes. Funnel lists and embed codes are cached as WordPress transients for 5 minutes. The cache is flushed automatically when you save new settings or click the Refresh button on the My Funnels page.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Security: environment detection now uses the configured site URL instead of the HTTP Host header.<\/li>\n<li>Security: API requests are refused unless the API URL uses HTTPS.<\/li>\n<li>Security: API log is now stored in a dedicated database table (gtmfunnels_logs) instead of a file in uploads, so it can never be publicly accessed. API keys and tokens are never logged; sensitive fields are redacted. Entries are saved only while logging is enabled. For live-site debugging, add define( 'GTMFUNNELS_DEBUG_LOG', true ); to wp-config.php, then tick API Logging in settings.<\/li>\n<li>Security: removed unused gtmfunnels_get_funnels AJAX endpoint.<\/li>\n<li>Security: API key is now stored encrypted (AES-256-GCM) in the database and decrypted only when needed. Existing keys are encrypted automatically. The settings field no longer outputs the key in the page HTML. Optionally define GTMFUNNELS_ENCRYPTION_KEY in wp-config.php to use your own encryption secret instead of the WordPress salts.<\/li>\n<li>Tested up to WordPress 7.1.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Integrate GTM funnels AI agents with WordPress. Display GTMFunnels AI chatbots on any WordPress page via shortcode or global floating button.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bre.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/327358","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bre.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/bre.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/bre.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=327358"}],"author":[{"embeddable":true,"href":"https:\/\/bre.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/gtmfunnels"}],"wp:attachment":[{"href":"https:\/\/bre.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=327358"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/bre.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=327358"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/bre.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=327358"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/bre.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=327358"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/bre.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=327358"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/bre.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=327358"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}