Use product attributes to structure data once and reuse it across Templates, AI output, Shopify mappings, and marketplace requirements.
Before you start
Connect every marketplace you plan to publish to in Marketplaces & Cross-listing first. This brings in marketplace-specific attributes before you build your setup.
If you use Templates, decide which fields you actually want to output, such as
@size,@condition,@material, or@era.Decide which fields should stay manual, which should use defaults, and which should use AI.
How it works
Attributes are reusable product fields. You set the value once, then Dropstitch can reuse it in the grid, in template output, in Shopify mappings, and in marketplace submission requirements.
Which attribute group should you use?
There are three main attribute groups:
System Attributes: built-in fields such as
@size,@color,@price, and@condition.Marketplace Attributes: fields tied to one marketplace's listing requirements, such as
@depop_age.Custom Attributes: fields you create for your own workflow, such as
@material,@vibe,@inseam, or@football_team.
Which attribute type should you choose?
Custom attributes also have an attribute type. The type controls how the field behaves in the grid and what kind of output it can produce.
Type | Best for | Example output | Notes |
Text | Freeform values |
| Most flexible option |
Number | Measurements or counts |
| No currency formatting |
Currency | Prices or cost fields |
| Use for money values only |
Date | Time-based fields |
| Useful for dated workflows |
Select | One controlled option |
| Best when output must stay consistent |
Multi-select | Multiple traits |
| Useful when a product needs more than one label |
Checkbox | Yes/no logic |
| Good for simple flags |
Rich Text | Longer formatted content | multi-line details | Best for notes or structured longer text |
Example:
Attribute:
materialTemplate line:
Material: @materialOutput:
Material: Cotton
How defaults, AI, and required rules affect output
Defaults, AI, and submission rules each change what happens when a field is empty or incomplete.
Setting | What it does | When to use it | Main tradeoff |
Default Value | Gives new products a starting value | The value rarely changes | Can hide missing manual review if overused |
Include in AI Output | Lets AI fill the field | Image analysis or research can save real time | Output quality depends on instructions and source quality |
Require AI output | Tells AI that the field should not be skipped | The field should normally be filled by AI | Does not guarantee that Google Lens will find enough information; the field can still stay empty |
Use Google Lens | Researches the specific data point requested by this Attribute | You need one precise detail that benefits from outside information | Adds processing time and can still return no result |
Required for Submission | Blocks publish until the field has a value | The field is genuinely mandatory for listing quality or marketplace compliance | Adds friction if the field is over-enforced |
Form visibility | Controls where a manual custom Attribute can be filled during intake | The value is useful in the mobile app, desktop Capture, or both | Adds capture friction if the field is not quick to fill |
If a field is empty and no default exists, Dropstitch skips that placeholder in your template output. If the field is Required for Submission, Dropstitch blocks the listing instead of skipping it.
If Use Google Lens is enabled, the Attribute can still remain empty when Google Lens cannot find enough useful information for the requested data point. Require AI output does not override this no-result behavior, and the rest of the product can still finish processing.
How to use it
Go to Settings > Attributes.
Click + Create Attribute.
Choose the Attribute Type that matches the kind of value you need.
Fill the core settings:
Name: appears in the grid and becomes the template placeholder name, such as
@material.Required for Submission: blocks publish until the field has a value.
Description (Optional): internal reference only.
Default Value (Optional): sets a starting value for new products.
Form visibility: choose where the custom Attribute can be filled manually:
Native app listing form: show in the iPhone listing details form.
Desktop Capture form: show in the Capture confirmation form on web.
If needed, add Shopify behavior:
Add as Shopify Product Tag
Add as Shopify Metafield
For deeper setup details, see Shopify Tags & Metafields.
If needed, configure AI:
Turn on Include in AI Output if AI should fill the field.
Turn on Require AI output only when AI should treat the field as expected rather than optional. Google Lens can still return no result when useful information is unavailable.
Turn on Use Google Lens only when you want one specific data point researched for that Attribute.
Add short, direct AI Instructions that describe exactly what the model should return.
For the complete setup, Price controls, and Research Report guidance, see Research product details and prices with Google Lens.
Click Add Custom Attribute.
Review the attribute in Settings > Attributes, then fill or adjust values in your grid where needed.
Use the attribute in Templates as
@attribute_name.Edit the attribute later if you need to refine defaults, options, AI logic, or Shopify mapping.
Visual walkthrough
Use the screenshots to orient yourself in the setup flow. A numbered marker shows where a setting lives. It does not mean that setting is always required.
1. Open the create flow
The arrow shows where to open Create Attribute from Settings > Attributes.
2. Fill the core attribute settings
Use the markers in this modal as location guides:
1shows where to enter the attribute name.2shows where Required for Submission lives if you want the field to block publish when empty.3shows where to add a Default Value if new products should start with one.The boxed area shows the Shopify settings for Product Tag and Metafield if you need them.
3. Confirm the attribute is live
After saving, review the attribute list in Settings > Attributes. This is the kind of success state you want: the new custom attribute appears in the list and any enabled AI or platform behavior is visible from the row.
Success check
The attribute appears in Settings > Attributes.
The field appears in the product grid and can be edited there.
If Form visibility is enabled and AI is not enabled for the Attribute, the field can appear in the selected mobile app or desktop Capture intake form.
If AI is enabled, new products can fill that field during processing.
If you use the field in a template and the grid value exists, the output appears correctly.
If Required for Submission is enabled, Dropstitch blocks publish until the field has a value.
Tips
Start simple. Set up the fields you actually need for first publish, then expand later.
Use defaults for values that rarely change, and use AI only where it reduces real manual work.
Use Form visibility only for values the person handling intake can fill quickly, such as SKU, barcode, condition, weight, or a manual size-related field.
Keep naming consistent. If you keep renaming attributes, your template placeholders become harder to manage.
Use marketplace-specific attributes when you need clean submission coverage, not as a substitute for your main internal product structure.
Advanced settings
Use Browse Library when you want a faster starting point for niche catalog types.
Examples of library-style use cases:
Football Jerseys: fields like
@football_team,@league, and@playerJeans: fields like
@washand@fitKeep AI instructions short and operational. Conflicting instructions, defaults, and required rules usually create messy output.
Keep the attribute setup simple. Too many overlapping custom and system attributes make it easier for AI to get stuck or leave a field empty.
Use Require AI output only when AI should make a best effort to fill the field. It does not guarantee that Google Lens will find enough information, especially when the Attribute is also marked Required for Submission.
Use Use Google Lens only for fields where researching a specific data point justifies the added processing time.
Troubleshooting
Is the grid value actually filled? If the row is empty, the template has nothing to output. Fill the field first, then check the result again.
Are you using the correct
@attribute_namein Templates? If the placeholder name does not match the attribute name, the output will stay blank even when the grid value exists.Is AI leaving the field empty after research? Confirm that the Attribute is active and has both Include in AI Output and Use Google Lens enabled. Even with Require AI output enabled, the Attribute can stay empty when Google Lens cannot find enough useful information for the requested data point. Make the Attribute or AI Instructions more specific, then try one item with clearer photos or details and fill the result manually if needed.
Are the AI instructions fighting the attribute setup? If a field has several overlapping attributes or the instructions contradict the attribute type or purpose, simplify the setup and rewrite the instructions so they ask for one clear output.
Is
Required for Submissionblocking publish? Fill the field manually, add a default value, or remove the required rule if the field should not block listing.Is processing slower than expected? Attributes using Use Google Lens can take longer. Turn it off for fields that do not need research.
Value reflection
Without attributes, you end up retyping the same product logic across listings, templates, and marketplace requirements. With attributes, you define that structure once and reuse it across one-of-one vintage inventory instead of rebuilding it item by item. Once the setup is dialed in, it becomes a stable operator layer instead of a repeated manual task.


