Only-dirty loads
By default a load only pushes records that have pending changes — records that were just transformed, or that previously failed to load. The only-dirty toggle in the Start run modal controls this.
| Toggle | Behavior |
|---|---|
| On (default) | Skip records that haven’t changed since their last successful load. The fast path. |
| Off | Re-push every record regardless. Forces a re-send for the whole catalog. |
When to keep it on
Almost always. Re-runs after a partial failure, scheduled syncs after a fresh extract, and small mapping fixes all benefit from skipping the records whose payload didn’t change.
When to turn it off
- You changed the conflict strategy and want to apply the new decision to every existing record.
- You suspect Shopify state drifted (someone edited records by hand in admin) and want Graftport’s view to win across the board.
- You’re rolling back to a prior mapping version and want every record to reflect that version’s output.
Re-pushing the whole catalog is rate-limited by Shopify and proportional to size — for large catalogs this can be slow. Plan accordingly.
Field filter (advanced)
In the Start run modal, the field filter lets you push only a subset of fields per resource (e.g. only re-push prices on products). This is independent of only-dirty: even with only-dirty on, the field filter narrows which fields get sent on each updated record.
Use field filters when:
- You’re correcting one attribute across the catalog and don’t want to risk overwriting unrelated fields.
- The Shopify update payload is large and you want to minimize what changes per call.