On the front end, eligible shortcodes render a small download form with CSRF protection, not a naked link to a file path. That design is intentional. Direct URLs to product files would bypass the eligibility checks you configured in J2Commerce and in this plugin.
Shoppers see a DOWNLOAD NOW control with plugin and template styling applied through Web Asset Manager. When Show Price Label is enabled, they may also see your Free Label text. The control submits through the plugin’s download task, which re-validates product type, zero price, published state, attached files, guest permission, and per-product overrides before streaming bytes.
Regular visitors typically see nothing where the shortcode sat, or a generic access message depending on failure mode. Super Users and other administrators with sufficient rights may see an admin-only hint naming the reason, such as not free, not downloadable, missing file, or direct download disabled on the product. Fix the product in J2Commerce rather than expecting the plugin to guess your intent.
When Allow Guest Downloads is Yes, anonymous users may download eligible files. Downloads are recorded in the RCA ledger when tracking is enabled. Guests do not receive automatic J2Commerce orders with invented email addresses.
When Allow Guest Downloads is No, guests encounter login or register messaging. The endpoint returns unauthorized until the visitor authenticates, even if the product otherwise qualifies.
When Use J2Commerce Order Tracking is Auto or Yes and the account has an email on file, the plugin may create a completed free J2Commerce order in the background so the download appears in normal My Account order history. That behavior is separate from ledger tracking and does not apply to anonymous guests.
Plugin CSS loads through Web Asset Manager and resets user-agent button chrome without imposing brand colors, so template custom.css can win. If the button looks like a raw browser control, confirm assets load on content pages and that the template does not strip plugin media registrations on article views.
The download control is a form submission, not a javascript-only fake button. That keeps CSRF tokens intact. Template overrides should preserve the form structure if you customize markup in layout overrides, which this plugin exposes through semantic classes rather than encouraging core hacks.