What is the purpose for some of the mailwizz DB fields?



I would like to know the purpose for some fields. Because I am feeling myself that I am not using MailWizz as effective as I can use it. :)

campaign_delivery_log table -> email_message_id, retries, max_retries, processed, delivery_confirmed
table -> processed
table (what is this for?)
campaign_option table -> regular_open_unopen_action, regular_open_unopen_campaign_id
(what is this for?)
delivery_server table -> must_confirm_delivery, max_connection_messages


Staff member
@imeow - good questions :D
campaign_delivery_log table -> email_message_id, retries, max_retries, processed, delivery_confirmed
email_message_id - we store a unique hash for each message we sent out so we can easily identify messages when processing bounces/complaints/etc for services that don't return the full headers we send. Amazon SES is such service for which we're using that column.
retries - we used to retry sending a failed message, and this would keep the track of the retries.
max_retries - maximum number of retries we were allowed to do before we give up.
processed - this is a yes/no flag set from command like by the logs processor to mark a message as processed so that we don't process it multiple times.
delivery_confirmed - some services will send notifications if the delivery was indeed okay, so we use this as a flag.

campaign_bounce_log table -> processed
Same as the processed column from above.

campaign_forward_friend table (what is this for?)
We record the forward-to-a-friend here. If you insert [FORWARD_FRIEND_URL] tag in your email content, whomever clicks it, will reach a page where he can forward that campaign to a friend. We record this action in this table.

campaign_option table -> regular_open_unopen_action, regular_open_unopen_campaign_id
This is used so that we know what action to take when a campaign with certain id is opened.

campaign_temporary_source (what is this for?)
It's the table that holds the list ids when they are merged for sending to multiple lists.

delivery_server table -> must_confirm_delivery, max_connection_messages
must_confirm_delivery - this is used together with delivery_confirmed from #1 so that we know if we should wait for confirmation or not.
max_connection_messages - max. number of messages we will push using a single smtp connection. When the number is reached, we close the connection and open a new one.

Hope it makes sense.


Total subscribers in system are 33,548,563 while list_field_value shows 1105719779 row in table.

is it normal? How is it 3 times larger in size?


Well-Known Member
Staff member Support Staff MailWizz 2.0 Tester
is it normal? How is it 3 times larger in size?
Yes it's normal because let say you have a list with 100 subscribers and that list have 3 custom tags like EMAIL, FIRST NAME and LAST NAME when this fields are populated with a value then will be added in list_field_value table that means in that table you will see 300 rows. One row for each value: 1 row for EMAIL, 1 row for FIRST NAME and 1 row for LAST NAME * subscribers count.