Skip to content

CSV import

When you have hundreds or thousands of products to attach videos to, doing it through the admin Media tab is slow. Mediaverse ships a CSV import inside its admin module that takes a two-column file (product number + video URL), fetches the thumbnail and creates the product-media entry for you.

Settings → Plugins → Mediaverse → Import

The Import page exposes file upload, a preview grid, progress bars, and import / cancel / reset actions.

The CSV needs two columns:

ColumnDescription
productNumberShopware product number (SKU) to attach the video to.
videoUrlVideo URL — supports the same sources as embed video (YouTube, Vimeo, Facebook, TikTok, Dailymotion, G-Core, direct URL).

No header row is required; the import reads the first column as product number and the second as URL.

Example:

SW10001,https://www.youtube.com/watch?v=123456
SW10002,https://www.youtube.com/watch?v=654321

If the URL contains start= or end= query parameters, the importer extracts them as the video’s start / end time (where supported by the source).

  1. Open Settings → Plugins → Mediaverse → Import.
  2. Click Upload and pick the CSV file.
  3. The page parses the file with a progress bar (Processing…) and shows a preview grid with the first 25 rows: product number, normalised video URL, recognised source, and validation badge.
  4. Review the preview. Rows with errors (invalid URL, unknown source) are flagged.
  5. Click Import. The page processes rows one at a time:
    • Look up the product by productNumber.
    • Recognise the video source from the URL.
    • Download the thumbnail (for YouTube, Vimeo, TikTok, Dailymotion).
    • Create a new product_media row with customFields.p2labProductVideo set.
  6. Per-row status is shown live (Importing… with progress bar, then per-row success / error badge).

The importer rejects duplicates: if the product already has a media entry with the same customFields.p2labProductVideo.url, the row fails with the error “Video already exists”. The import does not update or overwrite existing entries.

If you need to change a video on a product, edit it through the product Media tab instead.

  • Invalid video URL — the URL pattern did not match any supported source.
  • Product not found — no product with that number exists.
  • Video already exists — the same URL is already on that product.
  • Thumbnail download failed / canceled — the source thumbnail could not be fetched.
  • Invalid file type — the uploaded file is not a CSV.
  • Cancel stops an in-progress import at the next row boundary. Rows already processed remain on their products.
  • Reset clears the preview and lets you upload a new file.
  • It does not set per-video playback options (autoplay, muted, theme, etc.). All imported entries inherit the global defaults — adjust them per product afterwards or change the relevant Mediaverse global defaults.
  • It does not upload local HTML5 files. The import flow is for embed URLs only.
  • It does not create translations. Multilingual videos still need to be set up per product through the Other languages tab.