Dr. Advanced Shipping

Understanding the History/Audit Trail for Debugging in Shopify Advanced Shipping Calculator

GENERAL

Understanding the History/Audit Trail for Debugging in Shopify Advanced Shipping Calculator

In this this article you will learn:

  • What is the purpose of the History/Audit Trail page?
  • How to find our History Audit Page
  • What details are tracked by our History Audit Page?
  • How will this page help you understand the process of retrieving shipping rates?
  • Real life use cases for debugging

What is the purpose of the History/Audit Trail page?

The purpose of the Audit Trail page is to find detailed information about every shipping rate calculation that has occurred in our application.

By delving into these details, you can better understand why a particular rate was returned or why other rates were rejected.

In the details of each calculation, you will find information such as the sender’s details, the recipient’s details, the items included in the shipment, and information about the currency and any possible currency conversions. More about what you can find in this section is explained in another part of this article.

How to find our History Audit Page

The History Audit page is located in the “Advanced Shipping Calculator” main page. Once there, click on the “More Options” button and click “History Audit Trail”.

You will be redirected to the History Audit page where you can find your latest shipping rates calculations. To get more information about each calculation, click the “Details” button that is located on the end of each row.

What details are tracked by our History Audit Page?

Our History Audit Page contains every calculation which has occurred in the last 7 days.

On this page, you can find a Refresh button in the right corner which refreshes the list of calculations that have occurred since the last page refresh or since you last accessed the page.

Another important feature is filtering and searching.

To filter the list of calculations, click the “Filter History” button. A modal will then appear which you can use to filter calculations based on a date range.

After selecting the desired date and time range, click the “Apply” button to apply the filter.

To remove the filter, click the “X” icon next to the “Filter History” button.

To search the list, use the “Search” field.

When you enter a search term, the list will be searched for that term. A result will be considered a match for the search request if the request we received from Shopify contains the term, or if the shipping rates include the term.

There is a full list of variables that are considered during searching:


  • Origin address (City, Zip Code, Country, Province, Street, Email, Phone, Company Name),
  • Destination address (City, Zip Code, Country, Province, Street, Email, Phone, Company Name),
  • Cart items (Name, Quantity, SKU, Vendor, Product ID, Variant ID),
  • Rates that were returned to shopify (Name, Description)

Now let’s get deeper into the calculation audit detail, which you can find by clicking “Detail” on the right side of any line item of the audit page results.

The page starts with the “Details” section which will give you information about the event, like the Date and Time when the calculation occurred and the ID of this calculation in our system.

IMPORTANT NOTE: If your shipping rates are based on carrier integration and the rate calculation using the carrier failed, you will see detailed information about the carrier failure. This “Carrier Errors” section will only appear here if there was an issue.

The next section, “Shipping Address,” provides information about the delivery address entered by the customer at checkout or in the cart page. Here we will display details such as: Country, City, Postal Code, Street, House/Apartment Number, and State.

The next section on this page, “Cart Details,” provides information about the products included in the shipment.

IMPORTANT NOTE: Keep in mind that if the order referenced required multiple origin locations (i.e. the products the customer was interested in were located in two or more different warehouses), the calculation history will contain multiple records for the same order, depending on the sender’s origin addresses.

Information is provided for the name, SKU, quantity, weight of the product in grams, price (converted to the respective currency), vendor, and the selected variant of each Product included in the order.

The next section is “Shipping Rates Displayed,” which contains information about all the shipping rules shown during a given calculation. This allows you to directly reference the settings for a specific shipment.

The last information you’ll find on this page is the raw version of the request we received from Shopify and the raw version of the response we sent back to Shopify.

This information is in JSON format. If you didn’t find the details you were looking for in the section above, you can refer to the raw data.

How will this page help you understand the process of retrieving shipping rates?

Remember that the process our application goes through to find and calculate the appropriate shipping rates is quite complex and relies heavily on the information we receive from Shopify.
Each piece of information can influence whether a particular shipping rate is accepted or excluded in the response.

For example, consider a situation where you have multiple shipping zones, each with their own shipping rates. During the calculation, you receive shipping rates from a different zone. This page will display the shipping and destination addresses, allowing you to analyze the situation.

This page will also show you the raw data we pass to Shopify during the calculation. Keep in mind that we have no control over how Shopify processes these rates and how they are displayed.

In the raw information section, you will also find fields like conversion_rate and conversion_rate_failed, which indicate the currency conversions required for calculating shipping rates. For example, if your store is set up in USD, but your shipping rate is configured in EUR, and the Calculation is set up as Tier based. In such cases, we need to convert the item values we receive from Shopify from USD to EUR to check if the tier meets the requirements.

Real debugging examples

Example 1:

Let’s walk through an example where you have multiple shipping zones that are delivered to the same country, but from different origin locations.

In our application, you configured shipping rules for each of these locations.

We created a cart with 5 quantity of an AlumiColor product.

The checkout page is displaying shipping rates for a different shipping zone than you expected.

We can navigate to the History Audit to see what is the origin of the shipment.

As you can see, the origin is from Warehouse 2. There might be different reasons for that, but in this case we can see it was because Warehouse 1 doesn’t have enough of these products in stock (the customer wanted 5 quantity, but Warehouse 1 only had 2 quantity in stock).

Example 2:

You created a shipping rule with a Tiered Rate configuration, and it returned a different tier than expected.

Let’s start by looking at the Tier configuration in our shipping rules.

As you can see tiers are based on cart total in EUR currency:

Now let’s try to see what we will receive in checkout.

Checkout provides one rate option costing 16.39 USD. This seems incorrect since the cart total is $53.99, so on the surface it appears it should be the second tier (with a shipping cost of 20 euros).

But remember, in this case our tiers are based on a different currency than Shopify Checkout. We have to recalculate prices based on currency conversion rate.

Now we need to check the history audit trail to analyze what conversion rate was used.

So the conversion rate equals 0.9154. Factoring that conversion rate, the cart total in EUR is equal to 49.42. That’s why the calculations were based on the first tier.

Conclusion

Each calculation case is unique and depends on a variety of factors. Our page with historical calculations allows us to analyze a wide range of scenarios, including those that are more unusual or extreme. Analyzing this can help you understand how different variables may influence the final outcome.

Please note that the shipping rates returned are not solely determined by the settings in our application. They are also influenced by the configuration of your Shopify store. Therefore, for accurate results, it’s important to ensure that both your store and our app are set up correctly and consistently.