Cloudinary Blog

How to analyze image delivery issues

Using error reports to identify image delivery issues

Updated (October 2019):
Since this post was written, a new feature has been added that lets you export a day's data into a .CSV file. Selecting the "Export to CSV" option will generate an email where you can download the file and import it into your favorite spreadsheet software, such as Microsoft Excel, for viewing and filtering.

If you have a web site or mobile application, chances are you need to deliver a lot of media resources, especially images, to your users. How would you know if all your images were delivered correctly to your users and if there were no broken images displayed on your website? Maybe you build image URLs based on a certain naming convention and you end up with URLs that point to non-existing images, which result in HTTP status errors and broken images? Maybe search engines like Google have indexed the URLs of your images that were subsequently deleted or modified, and these URLs now generate errors when accessed?

If you use Cloudinary, then the image URLs also include manipulation and transformation instructions, and so your dynamic code might build invalid URLs (e.g., invalid width, height, etc.) which might result in HTTP 400 errors.

Without a means to identify resource delivery issues you probably don't know exactly what's happening in your system and with your image delivery. Site analytic tools (such as Google Analytics) can't help find these issues and they might get lost in the noise.

Webinar
How to Optimize for Page Load Speed

Cloudinary's image delivery error reporting

To help you identify any image delivery problems, Cloudinary has added an error reporting mechanism. All the requests made to your Cloudinary account via delivery URLs or API calls are processed and any errors generated are displayed in an interactive web page in Cloudinary's Management Console. The error reports can be accessed by clicking the Error report link on the Reports & Insights page in the Management Console.

The Error Report page lists all the resource delivery errors for the current date (by default), and the number of errors are listed according to the type of error encountered. A graph next to the list of errors visually displays the frequency of each type of error over the last month, and you can retrieve the total number of errors for a specific date by selecting the date from the dropdown box above the graph or by clicking a specific point on the graph itself.

Error Report

The possible errors reported include:

  • 400 Bad Request - The server cannot process the request due to something that is perceived to be a request error, e.g., malformed request syntax, invalid image transformation parameters.
  • 401 Unauthorized - Authentication is required and has failed or has not been provided, e.g., the URL should be signed when using add-ons or for certain transformations in Strict Transformations mode, or the image type was restricted in your account's security settings.
  • 404 Not Found - The requested resource could not be found, e.g., the public_id is invalid.
  • 408 Request Timeout - The server timed out waiting for the request, e.g., due to a networking error or a slow client.
  • 420 Rate limited - While Cloudinary's plan limits are soft limits, there were either too many concurrent requests for images or the hard quota for add-on usage for your account was exceeded.
  • 200 Fallback image on error - A default image placeholder was delivered as the requested image was not found.

Selecting one of the error categories will display a list of errors encountered within that category and the details associated with that error: the reason for the error, the URI of the requested image and the referral web site (who is requesting the resource).

400 - Bad request

The information contained in the error report is useful for pointing out issues with image delivery, and is displayed in real time with a slight delay of up to 5 minutes. Besides the report's usefulness in identifying and fixing issues with resource delivery on an ongoing basis, the report is especially useful when first integrating with Cloudinary and launching your site or application in production (or launching an updated version thereof), and checking for any issues. Any issues involving the correct building of image URLs, or inadvertently breaking any image deliveries, can be identified, debugged and fixed without waiting for complaints from your users.

Summary

The error reporting feature gives you useful information and insight about your image and video delivery, and specific analysis of any errors when delivering your media. The report allows you to locate the problems, debug and analyze the issues and then fix them, and is especially useful when integrating with a new cloud-service like Cloudinary or when launching a new version of your application or website. The error report feature is available for Cloudinary's customers with the Advanced plan or higher.

Recent Blog Posts

Create Lightweight Sites With Low-Code and No-Code Technology

Consumers expect modern websites to be mainly visual. But, the more compelling and complex the related media is, the more data is involved, compounding the site’s weight. In today’s content-craving world, delivering unoptimized media can cost you because it leads to sluggish page loads, resulting in visitors abandoning your site in search of a faster alternative. In fact, a page load that takes more than three seconds can cause as many as 40% of your visitors to bounce. Given this competitive, digital-first environment, you can’t afford to lose page views, for time is of the essence.

Read more
A Blueprint for AWS-Secured Webhook Listeners for Cloudinary

tl;dr: An AWS-secured and optimized Cloudinary webhook listener for extending the Cloudinary service

Code: Github

A webhook is a communication medium for sending notifications from one platform to another about events that occurred. In place are user-defined HTTP callbacks that are triggered by specific events. When a triggered event takes place on the source site, the webhook listens to the event, collects the data, and sends it to the URL you specified in the form of an HTTP request.

Read more
New Accessibility Features for Cloudinary’s Product Gallery Widget

Cloudinary’s Product Gallery widget, which launched in 2019, has enabled many brands to effectively and efficiently showcase their products in a sleek and captivating manner, saving countless hours of development time and accelerating release cycles. By adding Cloudinary’s Product Gallery widget with its customizable UI to their product page, retailers reap numerous benefits, often turning visitors into customers in short order.

Read more
Why Successful Businesses Engage With and Convert Audiences With Visual Media

Most business buyers prefer to research purchase options online, as do many shoppers. No wonder online retail sales in the U.S. rose by 32.4% in 2020—an impressive gain of $105 billion.

For B2B and B2C businesses, text-heavy websites are no longer adequate in attracting shoppers. Instead, engaging visual media—spin images, videos, 3D models, augmented reality—are becoming a must for conveying eye-catching details and differentiators about products or services.

Read more
Making User-Generated Content (UGC) Shoppable With Cloudinary

User-generated content (UGC) is a powerful marketing tool. Not only does video complement marketing efforts for e-commerce by enabling customers to explore products in greater detail, but UGC also adds an element of trust. As a bonus, user-generated video is an exceptional opportunity for e-businesses to attract website traffic without their marketing team having to create promotional videos from scratch. User-generated content drives conversions and brand loyalty as a direct result of authentic interaction.

Read more