A guide to packing and shipping candles for eCommerce

Many businesses and entrepreneurs are taking advantage of the power of eCommerce to earn a great deal of money selling candles. In the midst of modern technology and increasingly advanced science, the humble candle remains ever-popular, an enduring testament to the human need for the comforting, cosy and familiar.

Selling candles can be very lucrative, but shipping them can be problematic. Here’s our guide to packing and shipping candles for eCommerce…

Packing your candles

Many modern candles come in containers, such as glass, wood and tin. Tins are particularly popular for candles as they have lids and are self-contained. Candles in containers are relatively easy to package and ship, especially if they are contained. However, candles without containers have slightly different needs. The containers themselves can pose issues if they are fragile or breakable, and there are other elements such as heat and the potential for candles to melt that must be considered.

If your candles are in glass jars or containers, or are very large – like pillar candles – you will need to use heavy duty boxes in order to support their weight. If, on the other hand, your candles are tealights or votive candles they will weigh very little and can be sent in smaller, lighter boxes.

Candles should all be individually wrapped, ideally using tissue or wax paper. This will protect the surface of the candle as well as isolating any scents and preventing them from mingling during shipping. For fragile candles in particular, an additional layer of bubble wrap is highly advisable.

It’s often tempting to wrap multiple candles of the same type together, but this is to be avoided at all costs – candle wax melts at low temperatures, and packing them together increases the risk of them melting into each other.

Place all your candles into their packing box and then fill all the empty space with additional packing material, such as bubble wrap, or scrunched up brown paper. Securely tape the box shut, and ensure it is marked ‘Fragile’. It’s also worth adding ‘Do Not Stack’, to prevent your candles being damaged under the weight of additional packages during transit.

The heat factor

Do not presume candles won’t melt during shipping. Trucks and vans get very hot as they drive around on their deliveries, especially if they lack air conditioning, or the weather is particularly warm. Candles are easily damaged by heat, which causes them to lose their shape, and warps their designs. You may be tempted to freeze your candles before transport to ensure they don’t over heat. This is not advisable – the freezing process can crack and warp your candles as badly as heat.

Shipping advice

The best way to safely ship your candles is to use an express shipping service such as DHL or FedEx. (We offer both these services at highly discounted rates) These services are much faster and greatly reduce the chances of your candles being left for long periods in areas where they will over heat and melt. They also ensure your parcels can be tracked, and you also have the option of taking out additional liability so that in the event something does go wrong, the cost of replacing the candles won’t come out of your pocket. Fast delivery will also do wonders for your customer relations – nothing makes people happier than items arriving speedily!

26.46msRequest Duration4MBMemory UsageGET {a?}/{b?}/{c?}/{d?}/{e?}/{f?}/{g?}RouteAuth status
    • Booting (11.33ms)
    • Application (22.27ms)
      8 templates were rendered
      • v2.site.cms.article (resources/views/v2/site/cms/article.blade.php)14blade
        Params
        0
        background_image
        1
        h1_title
        2
        faq_content
        3
        title
        4
        description
        5
        head
        6
        v2
        7
        alert_text
        8
        services_text
        9
        services_collection_country
        10
        services_delivery_country
        11
        global_services_text
        12
        services_text_cn
        13
        breadcrumb
      • v2.templates.main (resources/views/v2/templates/main.blade.php)21blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        background_image
        5
        h1_title
        6
        faq_content
        7
        title
        8
        description
        9
        head
        10
        v2
        11
        alert_text
        12
        services_text
        13
        services_collection_country
        14
        services_delivery_country
        15
        global_services_text
        16
        services_text_cn
        17
        breadcrumb
        18
        __currentLoopData
        19
        bc
        20
        loop
      • v2.inc.script.head (resources/views/v2/inc/script/head.blade.php)21blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        background_image
        5
        h1_title
        6
        faq_content
        7
        title
        8
        description
        9
        head
        10
        v2
        11
        alert_text
        12
        services_text
        13
        services_collection_country
        14
        services_delivery_country
        15
        global_services_text
        16
        services_text_cn
        17
        breadcrumb
        18
        __currentLoopData
        19
        bc
        20
        loop
      • v2.inc.head (resources/views/v2/inc/head.blade.php)21blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        background_image
        5
        h1_title
        6
        faq_content
        7
        title
        8
        description
        9
        head
        10
        v2
        11
        alert_text
        12
        services_text
        13
        services_collection_country
        14
        services_delivery_country
        15
        global_services_text
        16
        services_text_cn
        17
        breadcrumb
        18
        __currentLoopData
        19
        bc
        20
        loop
      • v2.inc.script.body (resources/views/v2/inc/script/body.blade.php)21blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        background_image
        5
        h1_title
        6
        faq_content
        7
        title
        8
        description
        9
        head
        10
        v2
        11
        alert_text
        12
        services_text
        13
        services_collection_country
        14
        services_delivery_country
        15
        global_services_text
        16
        services_text_cn
        17
        breadcrumb
        18
        __currentLoopData
        19
        bc
        20
        loop
      • v2.inc.header (resources/views/v2/inc/header.blade.php)21blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        background_image
        5
        h1_title
        6
        faq_content
        7
        title
        8
        description
        9
        head
        10
        v2
        11
        alert_text
        12
        services_text
        13
        services_collection_country
        14
        services_delivery_country
        15
        global_services_text
        16
        services_text_cn
        17
        breadcrumb
        18
        __currentLoopData
        19
        bc
        20
        loop
      • v2.inc.footer (resources/views/v2/inc/footer.blade.php)21blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        background_image
        5
        h1_title
        6
        faq_content
        7
        title
        8
        description
        9
        head
        10
        v2
        11
        alert_text
        12
        services_text
        13
        services_collection_country
        14
        services_delivery_country
        15
        global_services_text
        16
        services_text_cn
        17
        breadcrumb
        18
        __currentLoopData
        19
        bc
        20
        loop
      • v2.inc.script.footer (resources/views/v2/inc/script/footer.blade.php)21blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        background_image
        5
        h1_title
        6
        faq_content
        7
        title
        8
        description
        9
        head
        10
        v2
        11
        alert_text
        12
        services_text
        13
        services_collection_country
        14
        services_delivery_country
        15
        global_services_text
        16
        services_text_cn
        17
        breadcrumb
        18
        __currentLoopData
        19
        bc
        20
        loop
      uri
      GET {a?}/{b?}/{c?}/{d?}/{e?}/{f?}/{g?}
      middleware
      web
      controller
      App\Http\Controllers\CMSController@index
      namespace
      App\Http\Controllers
      prefix
      null
      where
      file
      app/Http/Controllers/CMSController.php:25-344
      7 statements were executed5.62ms
      • select * from `cms_pages` where `page_name` = 'articles' and `archived_by_cms_page_id` is null and `cms_page_id` is null and `online` = '1' and `is_draft` = '0' limit 11.76ms/app/Repository/Cms/CmsPageHelper.php:34parcelbroker-back
        Metadata
        Bindings
        • 0. articles
        • 1. 1
        • 2. 0
        Hints
        • Use SELECT * only if you need all columns from table
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 12. /app/Repository/Cms/CmsPageHelper.php:34
        • 13. /app/Http/Controllers/CMSController.php:56
        • 21. /app/Http/Middleware/AutoLogout.php:26
        • 33. middleware::old:37
        • 54. /vendor/fideloper/proxy/src/TrustProxies.php:56
        • 63. /public/index_laravel.php:62
      • select * from `cms_pages` where `page_name` = 'guide-packing-shipping-candles-ecommerce' and `archived_by_cms_page_id` is null and `cms_page_id` = '81' and `online` = '1' and `is_draft` = '0' limit 1470μs/app/Repository/Cms/CmsPageHelper.php:34parcelbroker-back
        Metadata
        Bindings
        • 0. guide-packing-shipping-candles-ecommerce
        • 1. 81
        • 2. 1
        • 3. 0
        Hints
        • Use SELECT * only if you need all columns from table
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 12. /app/Repository/Cms/CmsPageHelper.php:34
        • 13. /app/Http/Controllers/CMSController.php:56
        • 21. /app/Http/Middleware/AutoLogout.php:26
        • 33. middleware::old:37
        • 54. /vendor/fideloper/proxy/src/TrustProxies.php:56
        • 63. /public/index_laravel.php:62
      • select * from `cms_pages` where `page_name` = 'cms-global-settings' limit 11.57ms/app/Http/Controllers/CMSController.php:83parcelbroker-back
        Metadata
        Bindings
        • 0. cms-global-settings
        Hints
        • Use SELECT * only if you need all columns from table
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 12. /app/Http/Controllers/CMSController.php:83
        • 20. /app/Http/Middleware/AutoLogout.php:26
        • 32. middleware::old:37
        • 53. /vendor/fideloper/proxy/src/TrustProxies.php:56
        • 62. /public/index_laravel.php:62
      • select * from `cms_pages` where `id` = '81' limit 1360μs/app/Models/CmsPage.php:24parcelbroker-back
        Metadata
        Bindings
        • 0. 81
        Hints
        • Use SELECT * only if you need all columns from table
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 12. /app/Models/CmsPage.php:24
        • 13. /app/Models/CmsPage.php:55
        • 14. /app/Http/Controllers/CMSController.php:348
        • 15. /app/Http/Controllers/CMSController.php:311
        • 23. /app/Http/Middleware/AutoLogout.php:26
        • 35. middleware::old:37
        • 56. /vendor/fideloper/proxy/src/TrustProxies.php:56
        • 65. /public/index_laravel.php:62
      • select * from `cms_pages` where `id` is null limit 1230μs/app/Models/CmsPage.php:24parcelbroker-back
        Metadata
        Hints
        • Use SELECT * only if you need all columns from table
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 12. /app/Models/CmsPage.php:24
        • 13. /app/Models/CmsPage.php:55
        • 14. /app/Http/Controllers/CMSController.php:348
        • 15. /app/Http/Controllers/CMSController.php:311
        • 23. /app/Http/Middleware/AutoLogout.php:26
        • 35. middleware::old:37
        • 56. /vendor/fideloper/proxy/src/TrustProxies.php:56
        • 65. /public/index_laravel.php:62
      • select * from `cms_templates` where `cms_templates`.`id` = '9' limit 1290μs/app/Http/Controllers/CMSController.php:337parcelbroker-back
        Metadata
        Bindings
        • 0. 9
        Hints
        • Use SELECT * only if you need all columns from table
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 17. /app/Http/Controllers/CMSController.php:337
        • 25. /app/Http/Middleware/AutoLogout.php:26
        • 37. middleware::old:37
        • 58. /vendor/fideloper/proxy/src/TrustProxies.php:56
        • 67. /public/index_laravel.php:62
      • select AVG(stars), COUNT(id) from `reviews` where `stars` >= '4' limit 1940μs/app/Helpers/Review.php:13parcelbroker-back
        Metadata
        Bindings
        • 0. 4
        Hints
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 12. /app/Helpers/Review.php:13
        • 13. view::v2.inc.head:66
        • 19. view::v2.templates.main:7
        • 25. view::v2.site.cms.article:70
        • 32. /vendor/symfony/http-foundation/Response.php:201
        • 36. /app/Http/Middleware/AutoLogout.php:26
        • 48. middleware::old:37
        • 69. /vendor/fideloper/proxy/src/TrustProxies.php:56
        • 78. /public/index_laravel.php:62
        web
        array:2 [ "name" => "Guest" "user" => array:1 [ "guest" => true ] ]
        api
        array:2 [ "name" => "Guest" "user" => array:1 [ "guest" => true ] ]
        admin
        array:2 [ "name" => "Guest" "user" => array:1 [ "guest" => true ] ]
          _token
          eTCoZKXdbusbtkfN66raNVilIKDWHa4S8n86Q37b
          _previous
          array:1 [ "url" => "https://vanguard.parcelbroker.co.uk/articles/guide-packing-shipping-candles-ec...
          PHPDEBUGBAR_STACK_DATA
          []
          format
          html
          content_type
          text/html; charset=UTF-8
          status_text
          OK
          status_code
          200
          request_query
          []
          request_request
          []
          request_headers
          array:17 [ "priority" => array:1 [ 0 => "u=0, i" ] "accept-encoding" => array:1 [ 0 =>...
          request_server
          array:40 [ "USER" => "forge" "HOME" => "/home/forge" "HTTP_PRIORITY" => "u=0, i" "HTTP_ACCEP...
          request_cookies
          []
          response_headers
          array:3 [ "cache-control" => array:1 [ 0 => "no-cache" ] "content-type" => array:1 [ 0...
          path_info
          /articles/guide-packing-shipping-candles-ecommerce
          session_attributes
          array:3 [ "_token" => "eTCoZKXdbusbtkfN66raNVilIKDWHa4S8n86Q37b" "_previous" => array:1 [ "u...