diff --git a/vendor/dotdigital/dotdigital-magento2-extension/Model/Cron/Cleaner.php b/vendor/dotdigital/dotdigital-magento2-extension/Model/Cron/Cleaner.php
index 39137a10d..29c73189c 100644
--- a/vendor/dotdigital/dotdigital-magento2-extension/Model/Cron/Cleaner.php
+++ b/vendor/dotdigital/dotdigital-magento2-extension/Model/Cron/Cleaner.php
@@ -101,14 +101,50 @@ class Cleaner implements TaskRunInterface
             $interval = new \DateInterval('P30D');
             $date = $now->sub($interval)->format('Y-m-d H:i:s');
             $conn = $this->resourceConnection->getConnection();
-            $num = $conn->delete(
-                $this->resourceConnection->getTableName($tableName),
-                ['created_at < ?' => $date]
-            );

-            return $num;
+            if ($tableName == 'email_importer') {
+                $numberOfRows = $this->getNumberRows($conn, $tableName, $date);
+                if ($numberOfRows >= 5000) {
+                    $numberOfRemaingRows = $numberOfRows;
+                    while($numberOfRemaingRows > 0) {
+                        $deleteSelect = $conn->select();
+                        $deleteSelect = $deleteSelect->reset()->from($tableName, '*')
+                            ->where("created_at < '{$date}'")
+                            ->limit(5000)
+                        ;
+                        $deleteSql = $deleteSelect->deleteFromSelect([]);
+                        $conn->query($deleteSql);
+
+                        $numberOfRemaingRows = $this->getNumberRows($conn, $tableName, $date);
+                    }
+
+                    return $numberOfRows;
+                } else {
+                    $num = $conn->delete(
+                        $this->resourceConnection->getTableName($tableName),
+                        ['created_at < ?' => $date]
+                    );
+
+                    return $num;
+                }
+            }
+
         } catch (\Exception $e) {
             return $e->getMessage();
         }
     }
+
+    /**
+     * @param $connection
+     * @param $tableName
+     * @return int
+     */
+    private function getNumberRows($connection, $tableName, $date)
+    {
+        $select = $connection->select()->reset()
+            ->from(['main_table' => $tableName], 'COUNT(*)')
+            ->where("main_table.created_at < '{$date}'");
+
+        return (int)$connection->fetchOne($select);
+    }
 }
