11 min read

Customer Photos

Review customer photo submissions, understand the two intake settings, and follow the product-page photo-sharing form.

Screen: Moderation → Customer photos in both classic (v1) and new (v2) admin. Moderation settings → Photos contains the intake settings.

Intake and approval are separate

Save an enabled intake setting before accepting new photos. New contributions enter Pending; uploading an image or approving its linked review does not approve the separate gallery entry. Bulk decisions, full-size viewing, and deletion still need a successful response before you rely on the result.

Understand the two photo paths

SettingPurpose
Send review photos to the galleryCreates separate gallery candidates from photos attached to reviews.
Allow direct photo uploads from verified purchasersPermits the product-page Share your photo form for an eligible signed-in purchaser.

Both switches default off and require the paid moderation.photo_intake entitlement. They are independent of each other. Allow review photos in the Reviews settings controls attachments; an attachment and a gallery candidate have separate publication decisions.

Use Settings → Moderation → Photos → Save settings and check Settings saved and reloaded. Review photos can create separate pending gallery entries; direct uploads require a fulfilled purchase and consent. Neither draft switches nor review approval make a photo public by themselves.

Moderate the existing queue

Choose the queue

Status offers All, Pending, Approved, and Rejected. Source offers All sources, Review, Customer upload, Instagram, and Merchant. These filters narrow the store's queue; use the source badge to distinguish a direct upload from a review attachment.

Inspect the card

Each card is titled with the product name; a photo with no product shows Store-wide photo, and one whose product can no longer be resolved shows Unknown product. Under the title, read the customer (or credit handle; Customer details unavailable when none is recorded), source, and status. Consent shows the recorded timestamp; Consent date unavailable means no timestamp was supplied. View review, when present, opens the linked review's details.

Approve or reject an individual photo

Approve makes an eligible gallery entry public; Reject removes it from the approved gallery feed. Only owner/admin users can make decisions. Controls are disabled while busy and when already in their target state.

Check the result

A successful approve/reject removes that photo from the selection before reloading the queue and sidebar counts. The card can leave the current filter. If the decision fails, selection remains; a successful list reload clears the selection. Page controls labelled Previous and Next move through results. Retry reloads a failed list.

Full-size viewing, selection, and deletion controls

Selecting an image opens Customer photo. The viewer offers Previous photo, Next photo, Close, left/right arrow keys, and Escape. Navigation is disabled when there is only one photo. A failed detail load shows Retry; reopening/retrying fetches a fresh viewing URL instead of treating an expired link as permanent loss.

On Moderation → Customer photos, use Select photo or Select page, then Approve selected, Reject selected, or Delete selected. N selected remains visible during loading or a list error and announces selection changes. Actions are disabled without selection, owner/admin access, or while busy. Successful items are deselected before reload; failed items stay selected until a successful list reload clears the selection. Check any per-item failures before another decision.

The row Delete action is shown only to owner/admin users. Row/selected deletion opens Delete customer photos? with Cancel and Delete. Successful deletion removes the photo from active/public feeds; an error does not confirm removal. Partial-result errors list failed IDs/reasons so you can inspect the refreshed queue. Soft-deleted photos are eligible for background permanent cleanup after 30 days; cleanup failures can delay removal of stored objects. There is no restore control here.

A completed deletion closes the confirmation even if the subsequent queue reload fails. Use Retry to reload the list before deciding again; an update/reload error can follow a persisted decision. Approve selected cannot restore a deleted photo: a stale deleted ID is returned as not found while other eligible selected items can succeed.

Share a product photo

The product-page form is shown only after sign-in and a successful check of enabled direct intake plus purchase eligibility. It stays hidden when that check cannot be completed or the daily cap is reached. The cap is three direct uploads per customer/product per UTC day; rejected or deleted attempts still count toward it.

Open Share your photo

An eligible shopper selects Share your photo, then Choose a photo. The form accepts JPEG, PNG, WebP, and HEIC/HEIF where the browser can decode them.

Wait for the upload and describe it

After you choose a file, the dialog shows a small preview and the file name next to a Remove photo (×) button; remove it or choose a different photo before you submit. The client prepares JPEG with a maximum 2,048-pixel long edge and re-encodes the original photo before uploading. Describe the photo (optional) appears after an upload is prepared. The form permits 500 characters, but the current intake service accepts 200; keep the description within 200 characters. Descriptions are plain text; literal markup does not format the caption. If an older caption shows encoded characters, ask support to inspect the saved caption rather than repeatedly approving the photo.

Give permission

Tick I own this photo and allow the store to display it. Submit photo is disabled without an uploaded file and consent, or while uploading/submitting.

Check the submission result

Success shows Thanks. Your photo was submitted for review. The photo still needs gallery approval. A failed request stays retryable and does not confirm approval. Close dismisses the dialog.

Up to five review attachments can be added from the review form instead; they are not five direct gallery uploads. HEIC conversion can fail with Please upload JPG or PNG. This browser cannot convert HEIC photos. Use a JPG/PNG file in that case. A prepared image over the upload limit shows Each photo must be 5 MB or smaller. Remove a failed review attachment and add it again.

What customers see

Approve the gallery entry

Open Moderation → Customer photos, find the product's entry, and select Approve. Check the refreshed Approved queue. Approving a review alone does not approve its gallery photo.

Find the product gallery

Open that product on the storefront and scroll below its main details to From our community. The heading can be customized. If the product content uses tabs or an accordion, select or expand that gallery heading. Returned approved public photos activate this gallery without another editor toggle; this does not enable intake or give a customer permission to upload.

Read the photo credit

Approved public customer photos use By name; Instagram photos use By @handle and merchant photos use By name. An absent author adds no credit. Shared with consent on date appears only when a valid consent timestamp is supplied; missing or invalid dates stay absent. A photo credit alone is not a verified-purchase claim.

On the product page, each From our community tile is a button (Open customer photo N of M). Selecting it opens a full-size viewer (Review photo viewer) with Previous photo, Next photo, Close photo viewer, an n / N counter, arrow keys, and Escape. Only the Modular product-page template renders this gallery. Review attachments have a separate lightbox: select a review thumbnail to open Review photo viewer, then use Previous photo, Next photo, Close photo viewer, arrow keys, or Escape. The admin's Customer photo viewer described above is separate again. Legacy editor/photo samples can retain source-based Purchased by name credit; a legacy photo with no source keeps its supplied author text. A preview sample is not a real customer submission.

Review-photo and approved-gallery images use the configured API gateway for their stable media links. My Reviews → Edit photo previews use that gateway too; Save changes preserves the stored photo references. A PDP gallery photo that fails to load is hidden (and closes the viewer if it was open); if every image fails, the whole gallery disappears. Missing/failed public data does not create placeholder customer photos or consent dates.

A configured landing-page gallery can use the store-wide approved-photo feed. A review-derived photo appears only while its linked review is also public. When approved photos are returned, they take priority over the gallery's social/configured images. When the approved feed is empty or fails, the gallery keeps its existing social or configured fallback; seeing a fallback image is not proof of a new approved upload.

In the store editor, photo preview samples can include source-based credits and overlay text. Approved samples replace the placeholder set and omit fabricated like counts; without samples, the existing placeholder set remains. Captions follow the gallery's existing display configuration. Preview Submit Your Photo and View all 12,000+ photos text belongs to the sample composition; it does not certify an active customer intake or that many real uploads.

An approved-photo email also needs Send customer email notifications, its paid entitlement, a valid recipient, an active product, and no store email opt-out. Approval is a gallery decision, not an inbox-delivery confirmation. Customer removal can anonymize photo credit and clear description/consent metadata while retaining the photo; see Review moderation.

Coming soon

Automatic image safety scan — Coming soon and the settings teaser Image safety scan are disabled. They do not scan or approve uploaded images.

Why is an approved photo not showing on the product page?

Check Moderation → Customer photos → Status → Approved for the correct product. For a review-derived photo, also confirm the linked review is approved, visible, and not deleted; hiding that review removes its public photo. Open the current product page and expand/select its gallery heading if needed. Public photo data can fail independently of question data. Reload before treating a missing gallery as a rejected contribution. A gallery approval is separate from both review approval and a preview sample.

If a tile disappears or will not load, ask support to check the configured API gateway's media response, storage redirect, and image availability. The media address can belong to the gateway rather than the storefront's domain; a different image host alone is not evidence that the customer's product link points to the wrong store. If the image opens directly but does not display on the product page, ask support to check whether the gateway response allows display from the storefront domain. Repeated failure is not repaired by approving the same entry again.

Why don't customers see a photo?

  • No From our community gallery at all: the product page must use the Modular template (other templates do not render it), the product needs at least one Approved photo, and a photo that fails to load is hidden, so a gallery whose images all fail vanishes.
  • Check that the gallery entry is Approved; approval of its linked review is a separate decision.
  • Clear Status and inspect the source badge before concluding a photo disappeared.
  • New intake needs the paid entitlement, saved enabled setting, eligible purchase, and consent. Draft switches do not enable it.
  • A fulfilled purchase, consent, and fewer than three direct attempts per UTC day are required; reaching the cap can hide the entry point.
  • A failed full-size load needs Retry; thumbnails do not prove that the detail endpoint works.
  • If N selected changes and the queue shows Could not load customer photos., use Retry for the list. Do not repeat an accepted approve/reject/delete just because its refresh failed. Inspect partial failures and select the intended current entries again after a successful reload.
  • A deleted photo cannot return through bulk approval; check the current queue before retrying a stale selection.
  • Missing consent dates are shown honestly rather than inferred from the image.
  • Soft deletion hides the photo immediately; the screen does not prove that the later permanent cleanup has run.

Next steps