The dotmailer for Magento connector can be found on GitHub - https://github.com/dotmailer/dotmailer-magento-extension
It is available for Community Edition (version 1.6.1 upwards), and Enterprise Edition (version 1.11.1 upwards).
Using Magento 2? See the foot of this article.
|How the core data synschronisation process works|
|» Creation of databases|
|» Cron services|
|Magento multisite implementation|
The dotmailer for Magento connector is a powerful extension that enables you to integrate your email marketing with your Magento store's customer and product data. Straightforward and speedy installation and integration allows for swift synchronisation of all of your dotmailer email data with your Magento eCommerce customer data.
It is the most feature-rich integration for Magento 1 and Magento 2 in both B2C and B2B channels.
Making use of key dotmailer features such as OrderInsight, external dynamic content, automation and page and ROI tracking, the connector enables storage of all your customers' orders, carts and wishlists; segmentation on purchase behaviour; automation of email triggers, such as a welcome series or post-purchase feedback; reporting on page visits and ROI for each campaign; abandoned cart emails, including the cart contents; inclusion of dynamic product recommendations in emails; sending of SMS order status notifications; and insertion of uniquely generated voucher codes for each individual customers in your campaigns.
The core data synchronisation process works via the creation and population of database tables during the installation process, and these are then updated and maintained via a handful of observers and cron services.
Upon installation of the connector, we create nine new database tables. These are:
- email_contact - All contacts who will be synced to dotmailer
- email_order - All orders that will be synced
- email_wishlist - All wishlists that will be synced
- email_review - All reviews that will be synced
- email_quote - All quotes that will be synced
- email_catalog - All products that will be synced
- email_automation - All contacts due to be enrolled or that have been enrolled into a program that will be synced
- email_campaign - All campaign sends sent or due to be sent (abandoned cart or review requests only) that will be synced
- email_importer - All batches of data that have been imported or due to be imported that will be synced
During installation these tables become populated with your historical data, after which time they are updated automatically by cron services.
The following cron services batch data from these tables and add them to the importer table ready for import:
- ddg_automation_customer_subscriber_guest_sync - Batches data from email_contact table
- ddg_automation_order_and_quote_sync - Batches data from email_order and email_quote tables. Also finds orders placed via guests and adds contacts to email_contact table (the frequency can be configured).
- ddg_automation_reviews_and_wishlist - Batches data from email_review and email_wishlist tables (the frequency can be configured)
- ddg_automation_catalog_sync - Batches product data from email_catalog table (frequency can be configured)
All of the above cron services can have their frequency configured.
All of this data gets batched and then added to the email_importer table, which involves the running of the following cron service:
- ddg_automation_importer - Looks for the oldest non-imported import and kicks off an import. This runs every 5 minutes (again, the frequency can be configured), checks the status of the last import and, if complete, marks it as done and then starts the next one.
The importer also checks the import fault file for all contact imports and if it contains suppressed contacts, it updates their status in both the email_contact table and the core Magento newsletter table.
The following cron services also perform the following tasks:
- ddg_automation_abandonedcarts - Detects abandoned carts based on the time settings you specify and adds contacts that are due to receive an email to email_campaign table (this runs every 5 minutes)
- ddg_automation_campaign - Creates contacts and performs sends of all unsent campaigns (abandoned cart and review requests only; this runs every 5 minutes)
- ddg_automation_status - Creates and enrols any contacts into the email_automation table that haven't been added yet (this runs every 15 minutes)
- ddg_automation_cleaner - Archives files created from the batching process (this runs once a month)
If you have multiple Magento websites and stores, the connector will support this. All the data we send includes both the website and the store the data originated from, so you can use this information for segmentation.
In addition to this, all settings can be configured on a per website basis, allowing different websites to sync to different dotmailer accounts.
If you're using Magento 2, then the above overview applies in exactly the same way. However, you'll need to use the following link to access the dotmailer for Magento 2 connector - https://github.com/dotmailer/dotmailer-magento2-extension