Clearer Status on Linked Content and Linked Resources
The Status column on the order, product, and content pages now answers one question consistently: does the customer have access to this content?
- Status is now one of 'Available', 'Unlinked', 'Access Revoked', 'Returned', 'Content Disabled', or 'Product Disabled' / 'Variant Disabled', and each label provides a detailed description of why the content is in that state.
- When more than one thing blocks a row, the badge names the most specific cause and adds '+1' (or more) for the rest, with every reason listed on hover.
- Access revoked for a whole line item and access revoked for one piece of content are listed separately, because restoring one does not restore the other.
Revoke Access to Individual Pieces of Content
Access can now be revoked for a single piece of content on a single line item, instead of only for a whole line item or a whole order.
- Each row in a line item's Linked Content table has new 'Revoke Access' and 'Restore Access' actions, available from order edit.
- Revoking affects that one line item only. Content linked to a product or variant stays linked to it, and every other order for that product keeps its access.
- This is now the way to take product or variant linked content away from a single order. Rows with access revoked show an 'Access Revoked' badge.
- Customers no longer see revoked content on their order status page. If every piece of content on a line item has been revoked, its download button is disabled with the 'No Content Available to Download' message.
- Download links a customer already has stop working as soon as access is revoked, including bookmarked links and pages left open.
- Unlink Content is no longer available on order edit for product or variant linked content. Unlinking it there would have removed the content from every order for that product, including past orders. Unlink it from the product, variant, or content page instead, or revoke access to remove it from just one order. Content linked directly to a line item can still be unlinked from order edit.
Order Page User Experience Improvements
The license keys and linked content sections on the order page are now tables, with reveal logs and download logs nested under the key or content they belong to.
- License keys on a line item are now one table with a row per key, instead of a separate card and log table for each key. Each key shows a status badge (Assigned, Returned, Restocked, or Deleted) with a hover explaining what it means and when it happened.
- Restocked keys now appear in that table with a 'Restocked' status, replacing the separate 'Restocked Keys' list.
- To make the UI less noisy, a key's reveal logs are hidden until you click its reveal count, and then open as a table directly beneath that key.
- Download logs have moved out of their own section and into the Linked Content table. Click the downloads count on a piece of content to see the downloads behind that number, nested under it.
- To avoid losing order history, Content that was unlinked from the order after it was downloaded now appears in the Linked Content table with an 'Unlinked' status and all of its download logs still visible.
- A new 'Expand All Logs' action in the Actions menu opens every reveal log and download log on the order at once for easier review and screenshot capture.
- The order edit page now uses the same tables, so keys and content stay in the same place when you switch between viewing and editing.
Deleted Keys Keep Their History
Deleting a license key that was assigned to an order or revealed no longer erases its history, reveal logs, or the analytics built from them.
- License keys that were never assigned or revealed are still permanently deleted.
- License keys that were assigned, revealed, returned, or restocked are now marked as deleted instead. Customers can no longer view them and they can never be assigned to another order, but their history, reveal logs (useful as chargeback evidence), and statistics are kept.
- Deleted keys show a 'Deleted' badge on order pages and on the license key page.
- Deleting a key now adds a 'Deleted' event to the key's history with who deleted it.
- Use the new 'Is Deleted' filter on the License Keys table to find deleted keys. Deleted keys are read only.
Preventing Content From Being Linked Twice
Content can no longer be linked more than once to the same product, variant, or line item, including when a line item would receive the same content through its product or variant.
- Linking content that is already linked no longer creates a second link. Everything else you selected is still linked and the duplicates are skipped.
- The confirmation message now tells you how many links were created and how many were skipped because they were already linked.
- Linking content to a product or variant when some of its order line items already have that content linked directly to the line item now replaces those line item links. Customer download limits, download limit resets, time limits, and download history all carry over, so access does not change.
- Duplicate links are now prevented client and server side, so linking from an out of date page can no longer create duplicate links.
Faster Search on Orders, Products, License Keys, and Content Tables
Fixed slow searches and timeouts on table search bars, especially for stores with a large number of orders.
- Searching the orders table by an order ID or order name is now much faster, and searches that previously potentially timed out now complete.
- Searching by an exact Shopify Order ID or order name (e.g. '#1001') now returns that order directly instead of also returning partial matches.
- Searching the products table by an exact Shopify Product ID or Variant ID now returns that product directly.
- Search bars on the Orders, Products, License Keys, and Content tables now wait until you stop typing before searching, instead of searching on every keystroke.
Metrics bar on all resource pages
Every resource page now has a metrics bar with useful stats about the resource(s)
- Orders Page, Products Page, License Keys Page, Variants Page, etc all updated to have metrics bars in the header of the page.
- Metrics bars on table pages take the filters and queries into account for the derived statistics.
- Clicking an individual metric will filter the table to show the specific resources related to that statistic.
- Some metrics have been updated to show total | % to give more informative insights.
Order Tag Content Downloads
Added a new 'Order Tag Content Downloads' setting that allows shop owners to add custom order tags to orders when customers download content.
- This setting allows shop owners to add custom order tags to orders when customers download content. This can be useful for tracking downloaded orders, as a branching variable or trigger in automated flows, or for any other purpose that requires custom order tags.
- The setting is available in the settings page under 'Global -> Order Tag - Content Downloads'.
Post Purchase Linking
Added ability to link content to line items after order processing
- Content can now be manually linked to line items after the order is processed. Can link existing content, or add new content.
- Content must be linked to an existing line item. If the line item does not exist, ensure the product is configured in the app and then sync the order.
- This feature is great for custom digital content products, adding additional content to existing orders, fixing broken content, and more.
Link Type Content Size
Added ability to specify the size of link type content.
- Can now add an optional size to link type content. This is available on content create and edit.
- In the Shopify admin, the size information will be used throughout the app to add additional context. It's strictly informational and does not affect the functionality of the link type content.
- In the checkout extension, for multi-content products, the size information will be displayed under the display name, exactly how file type content displays the size information. Additionally, the new size information will be used to calculate and display the total size of all content.
Multi-Content Products Support
Added admin and extension support for products with multiple content items.
- Updated the checkout extension to support products with multiple content items. For products with multiple content items, the extension will display a button that opens a modal allowing customers to download all content items.
- Added a multi-content button text setting to allow the user to customize the text displayed on the multi-content button in the extension. This setting has both global and product level options, allowing for flexibility in how the button text is displayed.
- The update is backwards compatible with products that have a single content item. For products with a single content item, the extension will display the standard download button.
Content Migration
Migrated to content as first class entities in the app.
- Content is now its own entity, not directly linked to a product. This allows for more flexibility in how content is managed in the app.
- New Content section and individual pages for managing content via actions like create, link to products, unlink from products, edit, delete, and more.
- A single content item can now be linked to multiple products, and a single product can have multiple content items linked to it.
- Additional stats have been added around content, including download counts, storage used, unique order counts, and more.
- Download Logs have been updated to be content centric, allowing users to view exactly what content was downloaded, when, and by which order.
- New Content user permissions have been added for managing content.
Homepage Analytics Dashboard
Added order, license, and download analytics to the homepage dashboard.
- Order analytics include total orders processed by the app. This order count can differ from the shops total orders, because we do not process orders that do not include a line item with digital content.
- License analytics include data about restocks and returns. This data is broken down by who performed the action. Additionally, there is savings and cost data calcuated using the current price of the product.
- Download analytics include data about the number of downloads processed by the app. This data is broken down by the product download type.