Hello, the newsletter checkbox no longer has custom classes and does not start with the “inactive” status. It is always this code, whether activated or not:
<p class="form-row terms woocommerce-validated" id="ws_opt_in_field" style="clear:both;">
<label class="checkbox">
<input type="checkbox" class="input-checkbox" name="ws_opt_in">
Kostenlosen Newsletter abonnieren und über aktuelle Angebote, Aktionen und Rabatte informieren lassen (Kündigung jederzeit m?glich) </label>
</p>
Please fix that.
]]>Dear Brevo Support Team,
the Brevo checkbox is not showing in checkout of WooCommerce. Maybe because we use the plugin german market to modify the checkout.
Best regards,
Felix
Is it possible to have the checkbox be checked in checkout? We tried with js but something is bugging out.
]]>Basic Brevo plugin also needed when installing this woocommerce plugin ?
hello, when installing Brevo for woocommerce plugin, do you also need to install the basic Brevo plugin ? Thank you.
]]>Hi,
The order sync is failing on our website. Please help.
]]>We add a birthday field to the woocommerce checkout with Woocommerce Checkout Field Editor and we want to sync that with Brevo. But i can’t seem to find how we can sync that field to the birthday field in brevo.
Please let me know how i can do this.
using the template code to send order emails – the products are showing with prices but without VAT
so £8.33 instead of 10
using this simple tag {ORDER_PRODUCTS}
how can this be fixed as causing confusion for customers
]]>The new product_viewed feature generates a Fatal error on my website. I just updated the plugin and all product pages (single product template) generate an error.
Please see error log below:
[15-Jul-2024 10:33:05 UTC] PHP Fatal error: Uncaught ArgumentCountError: Too few arguments to function SendinblueWoocommerce\Managers\ProductsManager::product_viewed(), 0 passed in /var/www/vhosts/###.com/httpdocs/wp-includes/class-wp-hook.php on line 324 and exactly 1 expected in /var/www/vhosts/###.com/httpdocs/wp-content/plugins/woocommerce-sendinblue-newsletter-subscription/src/managers/products-manager.php:133
Stack trace: 0 /var/www/vhosts/###.com/httpdocs/wp-includes/class-wp-hook.php(324): SendinblueWoocommerce\Managers\ProductsManager->product_viewed() 1 /var/www/vhosts/###.com/httpdocs/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() 2 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/builder-wordpress-woocommerce/src/Hook.php(41): WP_Hook->do_action() 3 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/builder-wordpress-woocommerce/elements/images/templates/template.php(21): YOOtheme\Builder\Wordpress\Woocommerce\Hook::doAction() 4 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/view/src/View.php(295): require(‘…’) 5 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/view/src/View/FileLoader.php(15): YOOtheme\View->evaluate() 6 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/view/src/View.php(177): YOOtheme\View\FileLoader->__invoke() 7 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/theme/src/ViewHelper.php(63): YOOtheme\View->YOOtheme{closure}() 8 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/view/src/View.php(177): YOOtheme\Theme\ViewHelper->YOOtheme\Theme{closure}() 9 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/theme-wordpress/src/UrlLoader.php(20): YOOtheme\View->YOOtheme{closure}() 10 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/view/src/View.php(177): YOOtheme\Theme\Wordpress\UrlLoader::resolveRelativeUrl() 11 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/view/src/View.php(253): YOOtheme\View->YOOtheme{closure}() 12 [internal function]: YOOtheme\View->render() 13 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/builder/src/Builder.php(138): call_user_func() 14 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/builder/src/Builder.php(128): YOOtheme\Builder->render() 15 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/builder/elements/column/templates/template.php(264): YOOtheme\Builder->render() 16 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/view/src/View.php(295): require(‘…’) 17 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/view/src/View/FileLoader.php(15): YOOtheme\View->evaluate() 18 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/view/src/View.php(177): YOOtheme\View\FileLoader->__invoke() 19 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/theme/src/ViewHelper.php(63): YOOtheme\View->YOOtheme{closure}() 20 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/view/src/View.php(177): YOOtheme\Theme\ViewHelper->YOOtheme\Theme{closure}() 21 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/theme-wordpress/src/UrlLoader.php(20): YOOtheme\View->YOOtheme{closure}() 22 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/view/src/View.php(177): YOOtheme\Theme\Wordpress\UrlLoader::resolveRelativeUrl() 23 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/view/src/View.php(253): YOOtheme\View->YOOtheme{closure}() 24 [internal function]: YOOtheme\View->render() 25 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/builder/src/Builder.php(138): call_user_func() 26 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/builder/src/Builder.php(128): YOOtheme\Builder->render() 27 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/builder/elements/row/templates/template.php(44): YOOtheme\Builder->render() 28 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/view/src/View.php(295): require(‘…’) 29 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/view/src/View/FileLoader.php(15): YOOtheme\View->evaluate() 30 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/view/src/View.php(177): YOOtheme\View\FileLoader->__invoke() 31 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/theme/src/ViewHelper.php(63): YOOtheme\View->YOOtheme{closure}() 32 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/view/src/View.php(177): YOOtheme\Theme\ViewHelper->YOOtheme\Theme{closure}() 33 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/theme-wordpress/src/UrlLoader.php(20): YOOtheme\View->YOOtheme{closure}() 34 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/view/src/View.php(177): YOOtheme\Theme\Wordpress\UrlLoader::resolveRelativeUrl() 35 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/view/src/View.php(253): YOOtheme\View->YOOtheme{closure}() 36 [internal function]: YOOtheme\View->render() 37 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/builder/src/Builder.php(138): call_user_func() 38 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/builder/src/Builder.php(128): YOOtheme\Builder->render() 39 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/builder/elements/section/templates/template.php(186): YOOtheme\Builder->render() 40 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/view/src/View.php(295): require(‘…’) 41 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/view/src/View/FileLoader.php(15): YOOtheme\View->evaluate() 42 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/view/src/View.php(177): YOOtheme\View\FileLoader->__invoke() 43 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/theme/src/ViewHelper.php(63): YOOtheme\View->YOOtheme{closure}() 44 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/view/src/View.php(177): YOOtheme\Theme\ViewHelper->YOOtheme\Theme{closure}() 45 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/theme-wordpress/src/UrlLoader.php(20): YOOtheme\View->YOOtheme{closure}() 46 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/view/src/View.php(177): YOOtheme\Theme\Wordpress\UrlLoader::resolveRelativeUrl() 47 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/view/src/View.php(253): YOOtheme\View->YOOtheme{closure}() 48 [internal function]: YOOtheme\View->render() 49 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/builder/src/Builder.php(138): call_user_func() 50 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/builder/src/Builder.php(128): YOOtheme\Builder->render() 51 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/builder/elements/layout/templates/template.php(13): YOOtheme\Builder->render() 52 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/view/src/View.php(295): require(‘…’) 53 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/view/src/View/FileLoader.php(15): YOOtheme\View->evaluate() 54 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/view/src/View.php(177): YOOtheme\View\FileLoader->__invoke() 55 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/theme/src/ViewHelper.php(63): YOOtheme\View->YOOtheme{closure}() 56 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/view/src/View.php(177): YOOtheme\Theme\ViewHelper->YOOtheme\Theme{closure}() 57 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/theme-wordpress/src/UrlLoader.php(20): YOOtheme\View->YOOtheme{closure}() 58 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/view/src/View.php(177): YOOtheme\Theme\Wordpress\UrlLoader::resolveRelativeUrl() 59 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/builder-wordpress/bootstrap.php(31): YOOtheme\View->YOOtheme{closure}() 60 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/view/src/View.php(249): YOOtheme\Application::YOOtheme\Builder\Wordpress{closure}() 61 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/view/src/View.php(253): YOOtheme\View->YOOtheme{closure}() 62 [internal function]: YOOtheme\View->render() 63 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/builder/src/Builder.php(138): call_user_func() 64 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/builder-wordpress-source/src/Listener/LoadTemplate.php(66): YOOtheme\Builder->render() 65 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/view/src/View/SectionHelper.php(46): YOOtheme\Builder\Wordpress\Source\Listener\LoadTemplate->YOOtheme\Builder\Wordpress\Source\Listener{closure}() 66 [internal function]: YOOtheme\View\SectionHelper->YOOtheme\View{closure}() 67 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/view/src/View/SectionHelper.php(44): array_reduce() 68 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/builder-wordpress/src/Listener/RenderBuilder.php(20): YOOtheme\View\SectionHelper->get() 69 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/container/src/Container.php(262): YOOtheme\Builder\Wordpress\Listener\RenderBuilder->handle() 70 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/packages/platform-wordpress/src/FilterLoader.php(22): YOOtheme\Container->call() 71 /var/www/vhosts/###.com/httpdocs/wp-includes/class-wp-hook.php(324): YOOtheme\Wordpress\FilterLoader->YOOtheme\Wordpress{closure}() 72 /var/www/vhosts/###.com/httpdocs/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() 73 /var/www/vhosts/###.com/httpdocs/wp-includes/plugin.php(517): WP_Hook->do_action() 74 /var/www/vhosts/###.com/httpdocs/wp-includes/general-template.php(3082): do_action() 75 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme-child/header.php(113): wp_body_open() 76 /var/www/vhosts/###.com/httpdocs/wp-includes/template.php(810): require_once(‘…’) 77 /var/www/vhosts/###.com/httpdocs/wp-includes/template.php(745): load_template() 78 /var/www/vhosts/###.com/httpdocs/wp-includes/general-template.php(48): locate_template() 79 /var/www/vhosts/###.com/httpdocs/wp-content/themes/yootheme/page.php(10): get_header() 80 /var/www/vhosts/###.com/httpdocs/wp-includes/template-loader.php(106): include(‘…’) 81 /var/www/vhosts/###.com/httpdocs/wp-blog-header.php(19): require_once(‘…’) 82 /var/www/vhosts/###.com/httpdocs/index.php(17): require(‘…’) 83 {main}
thrown in /var/www/vhosts/###.com/httpdocs/wp-content/plugins/woocommerce-sendinblue-newsletter-subscription/src/managers/products-manager.php on line 133
]]>Hello,
the ws_checkout_completed method of class CartEventsManagers checks and updates meta in two different tables: the first one on wp_postmeta and the second one on wp_ordermeta.
So checking meta to verify if order was already tracked doens’t work, in fact refreshing the thank you page generates new tracking event on Brevo.
]]>Using the block based checkout (default from Woocommerce 8.3), the opt-in checkbox it is not displayed at all.
Other plugins like Mailchimp for Woocommerce are already compatible with block-based checkout, when will Brevo for Woocommerce be updated too?
As a (external) developer I need to send some additional info from WordPress to Brevo. Only the plugin doesn’t allow any external edits whatsoever. For example I want to be able to change the name/mailadres for a customer before sending the data to Brevo. OR I want to add extra data to the customer to create more segmentation inside of Brevo.
As a whole it looks like a closed source party in an open-source platform..
Please use some apply_filters functions, at least in the get_tracking_data_order
function. Much love <3
using bravo to send woocommerce order emails and it was all working fine but recently all the product prices are showing without VAT
I am using the old style shortcodes in the html email template to display list of products customer orders but the price are showing as £8,33 instead of £10 which is causing confusion
]]>When placing the order, customers are subscribed to the newsletter whether or not they have checked the opt-in checkbox.
In the configuration of the WooCommerce integration on Brevo, the opt-in is however activated.
Any idea what could be the cause?
WordPress, WooCommerce and Brevo for WooCommerce are all up to date.
Thanks
]]>I have set up Brevo to work on with our WooCommerce website but cannot get the opt-in checkbox to appear anywhere on the checkout page. Am I missing something?
]]>The documentation states that the following emails can be replaced by a transactional email template designed in Brevo.
‘New Order’
‘Processing Order’
‘Refunded Order’
‘Cancelled Order’
‘Completed Order’
‘Failed Order’
‘Order On-Hold’
‘Customer Note’
‘New Account’
My question is about the Customer Note. Can you let me know what the placeholder is for the customer note?
I can use the trigger when a note is added, but I can’t find how to send the actual note.
]]>Please check this GitHub ticket to understand the problem: https://github.com/Automattic/woocommerce-payments/issues/8500
Response:
With the aforementioned Brevo plugin specifically, we are finding that it is adding the following to the settings?_locale=user
network response:
<input type="hidden" class="ws_opt_in_nonce" name="ws_opt_in_nonce" value="[nonce]">
Passing this value through the network response prevents the WooPayments pages from loading. You can test this without the Brevo integration installed by overriding the content of the settings?_local=user
request…
…and removing the <input>
tag…
From there, use CMD + S
or CTRL + S
to save your override changes, then refresh the page. It should load as expected.
Alternatively, if the page is loading for you (e.g., you reverted to version 7.3.0 or the Brevo integration is deactivated) you can reproduce this issue by adding any HTML to the request. While <input>
is added by the Brevo integration, other HTML tags like <p>
and <em>
will produce the same issues.
What we suspect is happening here is that the 6a22e18 commit introduced the wocommerce_checkout_fields
filter, which is triggering an opt-in via the Brevo integration.
This is not an issue that can or will address in WooPayments. According to the WordPress developer Handbook:
[…] filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output.
While we could prevent that from our side by using output buffering before calling the filters, this could lead to other conflicts. As a result, it is best for the developers of the Brevo integration (or similar plugins that may be causing this issue) to resolve this.
Many thanks for all of the reports, as they allowed us to isolate the cause! Given that this is a conflict with a third-party integration and that we will be unable to resolve it within WooPayments specifically, I will close this issue.
]]>Hi. I would like to know if the necessary changes have been made to the plugin, so that it is ready for the requirements of Google consent mode v2 (if necessary)? Thank you.
]]>Why i can’t uncheck Sync eCommerce attributes?
i only want the newsletter registration on checkout?
Best regards
Tobias
Is it possible to move the newsletter registrations to another list at check out? Your Plugin mixes the customers with the newsletter users.
]]>Hello, when I try to activate the plugin I get this error
Plugin could not be activated because it triggered a?fatal error.
Parse error: syntax error, unexpected ‘const’ (T_CONST), expecting variable (T_VARIABLE) in?/home/clusters/public_html/test/wp-content/plugins/woocommerce-sendinblue-newsletter-subscription/src/managers/api-manager.php?on line?30
My wordpress installation is compatible with the plugin. I tried to install your “Newsletter, SMTP, Email marketing and Subscribe forms by Brevo” and everything went fine, including the Automation activation.
Some suggestion?
]]>Following the use of third-party cookies, scoring good practices went from 100/100 to 84/100 on Google PageSpeed insights (for all pages), after activation of the plugin and connection of Brevo to the WooCommerce Store :
Cookies with the SameSite=None; Secure and not Partitioned attributes that operate in cross-site contexts are third-party cookies. In future Chrome versions, reading third-party cookies will be blocked. This behavior protects user data from cross-site tracking.
Please refer to the article linked to learn more about preparing your site to avoid potential breakage.
AFFECTED RESOURCES
1 cookie
Name Domain & Path
uuid sibautomation.com
2 requests
sa.js?key=xxxxxxxxxxxxxxxxxxxxxxxx
cm.html?key=xxxxxxxxxxxxxxxxxxxxxxxx
We have disabled the connection pending a future solution…
]]>I am getting this error at the top of my page after updating the plugin to Version 4.0.14?
Notice: Undefined variable: cart_fragments in /home/customer/www/marigru.studio/public_html/wp-content/plugins/woocommerce-sendinblue-newsletter-subscription/src/managers/cart-events-manager.php on line 187
Hi
Is this plugin compatible with Elementor Forms? Thank you
]]>Hi
I use your plugin but it seem we have to add DKIM ? or SPF ? could you give me the information please ? dont have any answer in support from your site. Thanks
]]>Hello!
I would like to know how I can properly utilize the plugins built-in tracker. I can’t find any documentation about it on the Brevo website, just the documentation on how to use the tracker if it was installed manually.
For example: I would like to track simple custom events, like on every completed order, if a specific checkbox was checked / order meta value is given. How can I track custom events with the plugin via PHP? Is it doable at all with just the plugin installed or am I forced to install the tracker manually in this case?
]]>Hey, i installed the plugin and it works ??
One thing which i can`t fix is the Birthday. We added the Birthdate question with that Code.</p> <pre class=”wp-block-code”><code>// Display Billing birthdate field to checkout and My account addresses add_filter( ‘woocommerce_billing_fields’, ‘display_birthdate_billing_field’, 20, 1 ); function display_birthdate_billing_field($billing_fields) { $billing_fields[’billing_birthdate’] = array( ‘type’ => ‘date’, ‘label’ => __(‘Geburtstag (wir haben eine überraschung für dich)’), ‘class’ => array(‘form-row-wide’), ‘priority’ => 25, ‘required’ => true, ‘clear’ => true, ); return $billing_fields; } // Save Billing birthdate field value as user meta data add_action( ‘woocommerce_checkout_update_customer’, ‘save_account_billing_birthdate_field’, 10, 2 ); function save_account_billing_birthdate_field( $customer, $data ){ if ( isset($_POST[’billing_birthdate’]) && ! empty($_POST[’billing_birthdate’]) ) { $customer->update_meta_data( ‘billing_birthdate’, sanitize_text_field($_POST[’billing_birthdate’]) ); } } // Admin orders Billing birthdate editable field and display add_filter(‘woocommerce_admin_billing_fields’, ‘admin_order_billing_birthdate_editable_field’); function admin_order_billing_birthdate_editable_field( $fields ) { $fields[’birthdate’] = array( ‘label’ => __(‘Geburtstag’, ‘woocommerce’) ); return $fields; } // WordPress User: Add Billing birthdate editable field add_filter(‘woocommerce_customer_meta_fields’, ‘wordpress_user_account_billing_birthdate_field’); function wordpress_user_account_billing_birthdate_field( $fields ) { $fields[’billing’][’fields’][’billing_birthdate’] = array( ‘label’ => __(‘Geburtstag’, ‘woocommerce’), ‘description’ => __(”, ‘woocommerce’) ); return $fields; }</code></pre> <p class=””>The point now is, that i`ve dont get a field to merge this with the BIRTHDAY from Brevo. Could you please give me a hint?
Also, I would like to know how often the Data is synced. We want to add an automatic Birthday Coupon to each Account, which should also get synced with Brevo then, so we can send it with a Workflow.
]]>Hey there,
I am using Brevo to send transactional emails but none of the placeholders are working. Nothing is showing under the shipping or billing address block. The item list is empty as well whereas, it works fine in automation emails like the “Abandoned Cart” email.
I am using placeholders in transactional emails mentioned here:
https://help.brevo.com/hc/en-us/articles/360006850600
Don’t know if this helps but I have tried sending transactional email through brevo with woocommerce as default email template and it is working fine but when I use brevo template, none of the placeholders are working.
I am not using test emails. I have tested them as a customer.
]]>Hi there,
I added a newsletter subscription checkbox to my WC checkout.
Is it possible to have this checkbox automatically checked by default?
(I’m aware of possible GDPR implications, btw.)
Cheers
Alex
]]>Hi, i’ve a problem with this plugin: it changes the Max execution time and sets it to 120. If you check in wordpress Site Health -> Info you will find
PHP time limit 120
Can you check this problem?
Thanks!
]]>I’m looking for a way to send campaigns based on the category of the purchased product in Woocommerce.
I know that segmentation by product is possible, but we have about 50000 different products, so it’s impossible to do segmentation by that.
]]>