Hi @karolka11254 ,
Could you please provide your System Info log? You can download it from Elementor -> Editor -> System.
Looking forward to your update.
Kind regards,
Hi Enrique,
Here is link to the System info log. I’ve also noticed that the pop up shows on the other pages like contact, main store page and about page. It doesn’t show at all on the main page.
https://pastebin.com/uF77zBAZ
Thank you,
Karolina
Plugin Support
Milos
(@miloss84)
Dear Customer,
Thank you for reaching out to us and for providing such a detailed description of the issue. We completely understand your frustration here, as dealing with overlapping plugin functionalities can be incredibly tedious, especially when you are trying to clean up your site and avoid relying on temporary “patch” plugins. Since your MailPoet popup works perfectly on a standard WordPress test page, it is clear that the core integration is functioning correctly. The issue lies in how Elementor optimizes and loads code, which ultimately blocks the script triggers for MailPoet specifically on pages built with the page builder.
The primary reason for this behavior usually stems from the advanced optimization features included in Elementor version 4.0.9 Free. While these features are designed to boost your site’s loading speed, they achieve this by delaying script execution or restructuring the underlying HTML markup of the page. When Elementor alters this structure or delays element rendering, MailPoet’s initialization script essentially misses its cue to fire because it cannot detect the expected page layout in that split second. To resolve this, we recommend navigating to Elementor, then Settings, and clicking on the Features (or Experiments) tab in your WordPress dashboard. From there, try changing the status of
Improved Page Actions Layout and Optimized Markup to Inactive, as turning these off usually restores the necessary paths for third-party scripts immediately.
Another common culprit could be the specific page layout template you are using within Elementor. MailPoet relies on standard WordPress hooks located in the site’s footer to inject and trigger its popup code globally. If your homepage or other affected pages are set to the “Elementor Canvas” template, Elementor completely strips away your theme’s native header and footer, which accidentally removes the hidden code MailPoet needs to display the form. We highly recommend checking the page settings for your homepage to ensure the layout is set to “Elementor Full Width” instead, which keeps your theme’s essential hooks intact while still allowing you to design with Elementor.
If all of these settings are already correct and the issue persists, it means Elementor is finishing its page layout rendering only after MailPoet has already attempted and failed to launch the popup. To bridge this timing gap, you can add a tiny code snippet to your site’s footer via a child theme’s functions.php file or a code snippets plugin. This script listens for Elementor to finish initializing and then forces MailPoet to check the page for popups half a second later:
JavaScript
jQuery(window).on('elementor/frontend/init', function() {
setTimeout(function() {
if (typeof MailPoet !== 'undefined' && typeof MailPoet.InitializePopups === 'function') {
MailPoet.InitializePopups();
}
}, 500);
});
Hope this helps,
Hello Milos,
Thank you so much for your thorough answer. Unfortunately I wasn’t able to fix the problem.
I’ve checked that – Optimized Markup was already inactive.
Improved Page Actions Layout – I couldn’t find it anywhere. Is it by a different name or is it a premium feature which I do not see?
I’ve changed to Elementor Full Width, it didn’t fix it.
And I’ve pasted the code into my child theme functions.php file at the bottom, and it made a critical error on the website, it was completely down, so I’ve deleted it.
I’ve asked the siteground AI, as I’m a newbie, and it said it should be like this to paste it into my child theme:
/**
* Correctly add MailPoet/Elementor script to the footer
*/
add_action( 'wp_footer', function() {
?>
<script type="text/javascript">
jQuery(window).on('elementor/frontend/init', function() {
setTimeout(function() {
if (typeof MailPoet !== 'undefined' && typeof MailPoet.InitializePopups === 'function') {
MailPoet.InitializePopups();
}
}, 500);
});
</script>
<?php
}, 99 );
It didn’t brake the website but it doesn’t fix it either. I’ve left it for now, in case if it’ll miraculously start working.
I’ve been deleting cache before checking each change.
Hope you’ll have more ideas, thank you!