Skip to content

Bulk import

Bulk Import creates and updates guards from a spreadsheet. It suits large catalogues, and setups where you already know the IDs of your products, locations and ads. Open it from the app’s navigation, or with Bulk Import on the Guards page.

  • Steps
  • The template
  • Columns
  • One row per target
  • Updating existing guards
  • Errors
  • See also
  1. Connect the ad platforms the file will use, in Settings. See Ad platforms.
  2. On Bulk Import Guards, click Download the template (guardified-import-template.xlsx).
  3. Fill in one row per ad target.
  4. Click Upload file, or drop the .xlsx file onto the upload area.
  5. Click Import. Clear removes the chosen file.

On success the page shows “Created N guard(s).”, plus “Updated N existing guard(s).” when the file changed guards you already had.

The template is an Excel file (.xlsx) with one sheet, Guards: a header row and one example row. Guardified reads the first sheet of the file you upload. Other file types, such as CSV, are not accepted.

ColumnRequiredWhat goes in it
productIdYesThe Shopify product ID.
variantIdYesThe Shopify variant ID.
locationIdYesThe Shopify location ID whose stock the guard watches.
thresholdYesThe pause threshold, a whole number, 0 or higher; an empty cell counts as 0.
autoResumeYestrue, 1, yes or on for auto-resume; anything else turns it off.
emailsYesOne or more recipients, separated by commas, semicolons or spaces.
platformYesmeta, google_ads or tiktok.
objectLevelYesThe level of the target; see below.
objectIdYesThe ID of the campaign, ad set, ad group or ad on that platform.
objectNameNoA name to show for the target in Guardified.

Shopify IDs can be the plain number (1234567890) or the full ID (gid://shopify/ProductVariant/1234567890).

Levels per platform:

platformobjectLevel
metacampaign, ad_set, ad
google_adscampaign, ad_group, ad
tiktokcampaign, ad_group, ad

For a Google Ads ad, objectId is the ad group ID and the ad ID joined by a tilde: adGroupId~adId, for example 1234567890~9876543210.

The targets are added from the account that is active for each platform in Settings, so the IDs must belong to that account.

Each row is one ad targetAd targetA campaign, ad set, ad group or single ad on Meta Ads, Google Ads or TikTok Ads that a guard pauses and turns back on. Read more → . Rows that share the same variantId, locationId, threshold, autoResume and emails become one guard with all of their targets.

variantIdlocationIdthresholdautoResumeemailsplatformobjectLevelobjectId
23456789011111111113trueops@example.commetacampaign120999888777
23456789011111111113trueops@example.comtiktokad_group1780000000001

These two rows make one guard with a Meta campaign and a TikTok ad group as targets. Keep those five columns identical on every row that belongs to the same guard.

“Existing guards with the same variant and location are updated during import.” An updated guard takes the threshold, auto-resume setting, recipients and targets from the file, replacing its old targets, and becomes active again.

Guardified checks every row before it creates anything. If any row has a problem, nothing is imported and the page shows Validation failed with the row numbers (row 2 is the first row under the header). Up to 20 errors are listed.

ErrorCause
Missing column XThe header row has no column named X.
Invalid platform (meta|tiktok|google_ads)platform isn’t one of the three values.
Invalid objectLevel for platform XThe level doesn’t exist on that platform.
Threshold must be an integer >= 0threshold is negative or not a whole number.
Invalid emailsemails is empty or has an address that isn’t valid.
Required IDs are missingOne of productId, variantId, locationId or objectId is empty.
No connected X integration accountThe platform isn’t connected in Settings.
Variant not found in ShopifyNo variant with that ID in your store.
Location not found in ShopifyNo location with that ID in your store.

Other messages: “Upload a valid XLSX file.” and “No rows found in file.”

Fix the rows and upload the file again.