[fusion_builder_container type=”flex” hundred_percent=”no” equal_height_columns=”no” menu_anchor=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” class=”” id=”” background_color=”” background_image=”” background_position=”center center” background_repeat=”no-repeat” fade=”no” background_parallax=”none” parallax_speed=”0.3″ video_mp4=”” video_webm=”” video_ogv=”” video_url=”” video_aspect_ratio=”16:9″ video_loop=”yes” video_mute=”yes” overlay_color=”” video_preview_image=”” border_color=”” border_style=”solid” padding_top=”” padding_bottom=”” padding_left=”” padding_right=””][fusion_builder_row][fusion_builder_column type=”1_1″ layout=”1_1″ background_position=”left top” background_color=”” border_color=”” border_style=”solid” border_position=”all” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding_top=”” padding_right=”” padding_bottom=”” padding_left=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” center_content=”no” last=”true” min_height=”” hover_type=”none” link=”” border_sizes_top=”” border_sizes_bottom=”” border_sizes_left=”” border_sizes_right=”” first=”true”][fusion_text columns=”” column_min_width=”” column_spacing=”” rule_style=”” rule_size=”” rule_color=”” hue=”” saturation=”” lightness=”” alpha=”” user_select=”” awb-switch-editor-focus=”” content_alignment_medium=”” content_alignment_small=”” content_alignment=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” sticky_display=”normal,sticky” class=”” id=”” width_medium=”” width_small=”” width=”” min_width_medium=”” min_width_small=”” min_width=”” max_width_medium=”” max_width_small=”” max_width=”” margin_top=”” margin_right=”” margin_bottom=”” margin_left=”” fusion_font_family_text_font=”” fusion_font_variant_text_font=”” font_size=”” line_height=”” letter_spacing=”” text_transform=”” text_color=”” animation_type=”” animation_direction=”left” animation_color=”” animation_speed=”0.3″ animation_delay=”0″ animation_offset=”” logics=””]
How to Define Surcharges by Country with WooCommerce
How to Add Country-Based Surcharges in WooCommerce: Step-by-Step Guide
Adding a country-based surcharge in WooCommerce is a smart way to recover additional costs like higher shipping rates, regional taxes, or special handling fees.
This guide walks you through a simple and safe method to set up country-specific surcharges without touching your theme’s core files.
Why Set Up Country-Specific Surcharges in WooCommerce?
-
Cover Regional Shipping Costs: Some countries have higher shipping rates.
-
Adjust for Taxes or Tariffs: Meet country-specific tax obligations.
-
Account for Extra Services: Special handling or remote delivery fees.
Being upfront about additional charges can improve your customer trust and protect your margins.
Step 1: Install and Activate a Code Snippets Plugin
First, you’ll need a safe way to add custom code to your site.
Using a child theme or the Code Snippets plugin is recommended to keep customizations intact after updates.
How to install Code Snippets:
-
In your WordPress dashboard, go to Plugins > Add New.
-
Search for “Code Snippets“.
-
Click Install and then Activate.
This plugin allows you to add code safely without editing theme files.
Step 2: Add Your Custom Surcharge Code
Now, let’s create the functionality:
-
Go to Snippets > Add New.
-
Give it a title, like “Country Based Surcharge“.
-
Paste the following example code:
[/fusion_text][fusion_syntax_highlighter theme=”” language=”x-php” line_numbers=”” line_wrapping=”” copy_to_clipboard=”” copy_to_clipboard_text=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” class=”” id=”” font_size=”” border_size=”” border_color=”” hue=”” saturation=”” lightness=”” alpha=”” border_style=”” background_color=”” line_number_background_color=”” line_number_text_color=”” margin_top=”” margin_right=”” margin_bottom=”” margin_left=””]YWRkX2FjdGlvbignd29vY29tbWVyY2VfY2FydF9jYWxjdWxhdGVfZmVlcycsICdhZGRfY291bnRyeV9iYXNlZF9zdXJjaGFyZ2UnKTsKCmZ1bmN0aW9uIGFkZF9jb3VudHJ5X2Jhc2VkX3N1cmNoYXJnZSgpIHsKICAgIGlmIChpc19hZG1pbigpICYmICFkZWZpbmVkKCdET0lOR19BSkFYJykpIHsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgJGNvdW50cnlfc3VyY2hhcmdlcyA9IGFycmF5KAogICAgICAgICdVUycgPT4gNSwgICAgLy8gJDUgc3VyY2hhcmdlIGZvciBVbml0ZWQgU3RhdGVzCiAgICAgICAgJ0NBJyA9PiA3LCAgICAvLyAkNyBzdXJjaGFyZ2UgZm9yIENhbmFkYQogICAgICAgICdHQicgPT4gNiwgICAgLy8gJDYgc3VyY2hhcmdlIGZvciBVbml0ZWQgS2luZ2RvbQogICAgICAgIC8vIEFkZCBtb3JlIGNvdW50cmllcyBhbmQgYW1vdW50cyBhcyBuZWVkZWQKICAgICk7CgogICAgJGN1c3RvbWVyX2NvdW50cnkgPSBXQygpLT5jdXN0b21lci0+Z2V0X3NoaXBwaW5nX2NvdW50cnkoKTsKCiAgICBpZiAoaXNzZXQoJGNvdW50cnlfc3VyY2hhcmdlc1skY3VzdG9tZXJfY291bnRyeV0pKSB7CiAgICAgICAgV0MoKS0+Y2FydC0+YWRkX2ZlZSgnQ291bnRyeSBTdXJjaGFyZ2UnLCAkY291bnRyeV9zdXJjaGFyZ2VzWyRjdXN0b21lcl9jb3VudHJ5XSk7CiAgICB9Cn0K[/fusion_syntax_highlighter][fusion_text columns=”” column_min_width=”” column_spacing=”” rule_style=”” rule_size=”” rule_color=”” hue=”” saturation=”” lightness=”” alpha=”” user_select=”” awb-switch-editor-focus=”” content_alignment_medium=”” content_alignment_small=”” content_alignment=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” sticky_display=”normal,sticky” class=”” id=”” width_medium=”” width_small=”” width=”” min_width_medium=”” min_width_small=”” min_width=”” max_width_medium=”” max_width_small=”” max_width=”” margin_top=”” margin_right=”” margin_bottom=”” margin_left=”” fusion_font_family_text_font=”” fusion_font_variant_text_font=”” font_size=”” line_height=”” letter_spacing=”” text_transform=”” text_color=”” animation_type=”” animation_direction=”left” animation_color=”” animation_speed=”0.3″ animation_delay=”0″ animation_offset=”” logics=””]
✅ Customize:
Modify the $country_surcharges array with your preferred country codes (ISO 2-letter format) and surcharge amounts.
Find your country codes here.
-
Click Save Changes and Activate.
Step 3: Test the Surcharge Functionality
After activating the snippet:
-
Visit your WooCommerce store.
-
Add products to the cart.
-
Proceed to checkout.
-
Enter a shipping address from one of the countries with a surcharge.
-
Check: The surcharge should automatically appear as an additional fee.
🧪 Testing Tip:
Test different country addresses to ensure the fees are applied correctly for each one.
Pro Tips for a Better Customer Experience
-
Transparency:
Clearly inform customers about potential surcharges on your Shipping Policy, FAQs, or Checkout pages to avoid confusion. -
Label Fees Clearly:
Consider customizing the fee name dynamically, e.g., “International Shipping Surcharge” instead of the generic “Country Surcharge.” -
Advanced Customizations:
For more complex setups like per-state surcharges or variable fees based on cart total, you may need a WooCommerce expert or plugin like WooCommerce Conditional Shipping and Payments.
Conclusion
Adding a country-based surcharge in WooCommerce is a quick, effective way to protect your profit margins when dealing with international customers.
Using the Code Snippets plugin ensures a safe, update-proof, and easy-to-maintain solution.
For advanced customizations or multiple conditions, hiring a WooCommerce developer or using a professional-grade plugin can further streamline the experience.
[/fusion_text][fusion_table fusion_table_type=”1″ fusion_table_rows=”17″ fusion_table_columns=”6″ awb-switch-editor-focus=”” margin_top=”50px” margin_right=”” margin_bottom=”50px” margin_left=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” class=”” id=”” animation_type=”” animation_direction=”left” animation_color=”” hue=”” saturation=”” lightness=”” alpha=”” animation_speed=”0.3″ animation_delay=”0″ animation_offset=””]
| Country | ISO 2-Letter | ISO 3-Letter | Numeric | Subdivision Code | TLD |
|---|---|---|---|---|---|
| United States | US | USA | 840 | ISO 3166-2:US | .us |
| United Kingdom | GB | GBR | 826 | ISO 3166-2:GB | .uk |
| Canada | CA | CAN | 124 | ISO 3166-2:CA | .ca |
| Australia | AU | AUS | 036 | ISO 3166-2:AU | .au |
| Germany | DE | DEU | 276 | ISO 3166-2:DE | .de |
| France | FR | FRA | 250 | ISO 3166-2:FR | .fr |
| Netherlands | NL | NLD | 528 | ISO 3166-2:NL | .nl |
| Italy | IT | ITA | 380 | ISO 3166-2:IT | .it |
| Spain | ES | ESP | 724 | ISO 3166-2:ES | .es |
| New Zealand | NZ | NZL | 554 | ISO 3166-2:NZ | .nz |
| Ireland | IE | IRL | 372 | ISO 3166-2:IE | .ie |
| Belgium | BE | BEL | 056 | ISO 3166-2:BE | .be |
| Switzerland | CH | CHE | 756 | ISO 3166-2:CH | .ch |
| Sweden | SE | SWE | 752 | ISO 3166-2:SE | .se |
| Norway | NO | NOR | 578 | ISO 3166-2:NO | .no |
| Denmark | DK | DNK | 208 | ISO 3166-2:DK | .dk |
[/fusion_table][fusion_text columns=”” column_min_width=”” column_spacing=”” rule_style=”” rule_size=”” rule_color=”” hue=”” saturation=”” lightness=”” alpha=”” content_alignment_medium=”” content_alignment_small=”” content_alignment=”center” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” sticky_display=”normal,sticky” class=”” id=”” margin_top=”” margin_right=”” margin_bottom=”” margin_left=”” fusion_font_family_text_font=”” fusion_font_variant_text_font=”” font_size=”” line_height=”” letter_spacing=”” text_transform=”” text_color=”” animation_type=”” animation_direction=”left” animation_color=”” animation_speed=”0.3″ animation_delay=”0″ animation_offset=”” logics=””]
How to Set Different Flat Rate Shipping Charges for Different Countries in WooCommerce WordPress
[/fusion_text][fusion_youtube id=”https://www.youtube.com/watch?v=zJ9yHEE7-ds” alignment=”center” width=”” height=”” autoplay=”false” mute=”false” api_params=”” title_attribute=”” video_facade=”” thumbnail_size=”auto” margin_top=”50px” margin_bottom=”50px” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” class=”” css_id=”” structured_data=”off” video_upload_date=”” video_duration=”” video_title=”” video_desc=”” /][fusion_text columns=”” column_min_width=”” column_spacing=”” rule_style=”” rule_size=”” rule_color=”” hue=”” saturation=”” lightness=”” alpha=”” content_alignment_medium=”” content_alignment_small=”” content_alignment=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” sticky_display=”normal,sticky” class=”” id=”” margin_top=”” margin_right=”” margin_bottom=”” margin_left=”” fusion_font_family_text_font=”” fusion_font_variant_text_font=”” font_size=”” line_height=”” letter_spacing=”” text_transform=”” text_color=”” animation_type=”” animation_direction=”left” animation_color=”” animation_speed=”0.3″ animation_delay=”0″ animation_offset=”” logics=””]
Related Videos:
Related Posts:
How to Add a percent surcharge to your cart / checkout with WooCommerce
How to Update: Automatically create media_buttons for shortcode selection
Custom Code(Opens in a new browser tab)
Defining What an Application Is(Opens in a new browser tab)
Shop(Opens in a new browser tab)
Mastering SEO: Keywords & Content Creation. What is SEO?(Opens in a new browser tab)
Create a PayPal Donation Shortcode – WordPress
Using the Current Year in Your Posts – WordPress
Are there copyright restrictions on the use of Python?
CODING WITH CSS: The style attribute
Change the Author Permalink Structure
How To Start a Blog – Beginner’s Guide for 2020
The background-color CSS property
Avada Theme Version 5.5.2
What is the use of New Keyword in VB.NET?
[/fusion_text][/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]

