482 releases and counting

What shipped

Release by release, with docs to match on docs.ecomyard.com. Built in the open, tested on our own brand first.

What a product actually earned

0.79.0 · Aug 26, 2026

  • NewA product now shows its profit over the period you pick, not just its margin on paper. Units sold come from your real orders, the cost price from the product, and what is left is the profit, with the share of revenue beside it.
  • NewSyncing from Shopify now brings your order lines along in the same click. Only what changed since last time, so an order that was refunded or edited is corrected rather than counted twice.
  • ImprovedA product with no cost price keeps showing its margin per unit instead of pretending its whole revenue was profit.

Loose ends from the review

0.78.3 · Aug 26, 2026

  • FixedAdding media by upload now needs the same permission as adding it from Drive. One half of that panel was open to any team member while the other was not.
  • ImprovedA file you add that turns out to match nothing is removed again instead of sitting in storage forever.
  • ImprovedThe list of file names being looked for now shows the whole name on hover, so two takes that differ only at the end can still be told apart.
  • NewThe content hub itself now carries a trail back to the board, which only its label folders had.

The trail stays readable

0.78.2 · Aug 26, 2026

  • FixedA page with a long name no longer pushes itself sideways. The trail used to set the width of the whole column, so a long label left the board scrolling horizontally and the heading cut off mid-word.
  • FixedWhen the trail does not fit, the section name now stays whole and the page name gives way. It was the wrong way round: the one thing worth clicking shrank to a single letter while the part that simply repeats the heading below it kept its room.
  • FixedClicking a sidebar item for the view you are already on no longer spins for half a second and then does nothing, and those views now show as active in the sidebar the way every other page does.
  • NewEvery settings page now opens with the same trail the billing pages already had.
  • ImprovedLoading skeletons line up with the page that replaces them, instead of sitting eight pixels too high and nudging everything once the real content lands.

The backfill gets the right file on the right row

0.78.1 · Aug 26, 2026

  • FixedTwo exports of one shoot, clip.05 and clip.06, no longer count as the same file. Neither do a .mov and an .mp4 of the same name. One upload fills the row that named it and leaves the rest waiting, and a file that fits more than one waiting name is left alone and reported instead of being guessed at.
  • FixedA file name written in Cyrillic, Greek or any other script now matches, where before it could never match anything and the panel could never be cleared.
  • FixedA file that failed to upload is now named in the result instead of quietly missing from the count.
  • FixedA file attached from Drive is now visible everywhere in the app. It opens from the creative and shows up in a label folder, under the name your sheet gave it, rather than being marked done and then appearing nowhere.
  • FixedImporting the same sheet twice no longer builds a second board. Rows that are already here are left as they are and counted for you, and a sheet that gained a row still imports that row.
  • FixedA media column that is mostly file names now treats the cells someone typed without an extension as files too, so those creatives keep their 9:16 and 4:5 instead of losing the reference to a note.
  • FixedA product with a sell price of zero no longer reports a margin of "null% of the sell price", and a negative margin reads as -€5,00 rather than €-5,00.
  • ImprovedPicking from Drive now has a ceiling on how much one click can ask for, and asks Drive who you are once per batch rather than once per folder.
  • ImprovedThe header on Products says Products.

Two ways to bring your old content in

0.78.0 · Aug 26, 2026

  • NewAfter importing a sheet the board now opens with what is still missing, and two equal ways to fix it: drag your files straight in, or pick them from Google Drive. Both match on file name, so the same files end up on the same creatives either way.
  • NewThe names being looked for are on screen, so finding the right files is reading a list rather than guessing. Every pass reports what matched, what is left and what belonged to nothing, and picking up where you stopped is just doing it again.
  • ImprovedGoogle only ever hands over files you select one by one, never a whole folder, and the screen now says so in the moment rather than letting you find out by trying. Uploading is offered right beside it for anyone who would rather not.

Give your imported content its real files

0.77.0 · Aug 26, 2026

  • NewThe content board can now hand imported rows their actual Drive files. Press Link from Drive, pick your files, and every row whose sheet named that file gets it attached. The button only appears while something is still waiting, and it says how many.
  • NewPicking is meant to be done in more than one go. Rows that already have their file are left alone, so a second pass only fills what is left, and you are told how many are still waiting and which picked files matched nothing here.
  • ImprovedNames are matched forgivingly: a different capitalisation, a missing extension or an extra space no longer stops a file from finding its row.
  • FixedReading a file that lives in a shared drive rather than in My Drive no longer fails, which is where most teams keep their content library.

Your old content sheet, brought in whole

0.76.0 · Aug 26, 2026

  • NewThe content import now takes the media columns too. A 9:16 and a 4:5 column land as media on the creative, whether the cell holds a link or, as a Google Sheets file chip does, only the file name. The file name is kept so the file itself can be attached later.
  • NewProduct URL and Label come across as well, and a creative whose sheet had no SKU is matched to your product by the handle in that URL. Content from an old sheet therefore shows up on the product page it belongs to.
  • FixedDates in a sheet kept the European way were read as American, so the twenty fifth of June became today and the ninth of July became September. The order is now worked out from the column itself and applied to every row.
  • FixedA sheet exported from Google drags along a thousand empty rows with a filled-down dropdown. Those no longer count towards the row limit, so a real sheet of forty is no longer refused.
  • FixedA column named Product no longer swallows a Product URL column. Every column that matches a field by name is settled first, before any looser guess is allowed.
  • ImprovedDutch sheets land in the right buckets: Uitleg video reads as Explainer, Ai Statics as AI Static, Lander as Landing, and US vs THEM Video as US vs THEM instead of everything falling back to UGC. A media cell holding a working note, such as Draai als partnership, is kept as a note rather than invented as a file.

You always know where you are, and that a click landed

0.75.0 · Aug 26, 2026

  • NewEvery page that sits inside a section now opens with a trail instead of a lone back arrow. A product reads Products, then the product name; an affiliate reads Affiliates, then their name. The section is a link, the page you are on is not, so one glance tells you where you are and one click takes you back up.
  • ImprovedClicking a link in the sidebar now shows a spinner in place of its icon while the page loads, so a slow page never leaves you wondering whether the click registered. Navigations that finish straight away stay silent: the spinner only appears once loading actually takes a moment.
  • ImprovedRecord pages, connector pages and the automation builder now load with a skeleton shaped like the page you asked for rather than a generic list, so arriving no longer looks like the layout jumping into place.

A product page that fills its width

0.74.2 · Aug 26, 2026

  • ImprovedThe product page was leaving a tall stripe of empty space down the right. Store sales now runs the full width, which also gives the chart room to breathe, the two short panels sit side by side, and the content list runs full width underneath. Nothing is left standing next to a blank column.
  • ImprovedPanels that read their figures out of your store now carry the Shopify mark next to the word, on the product page and on the dashboard, so it is clear at a glance which numbers come from where.

The performance chart answers back

0.74.1 · Aug 26, 2026

  • NewHover anywhere over the performance chart and it follows you: a line marks the period you are on, a dot lands on both curves, and a card reads out the date with this period's figure and the previous period's beside it. Arrow keys do the same for anyone working without a mouse.
  • FixedThe chart was drawn stretched, so its line thickness changed with the steepness of the slope and the marker on the peak came out as an oval. It is now drawn at the size it is shown at, so it stays true on any screen width.
  • FixedThe dates under the chart now sit under the point they belong to instead of drifting outwards, and they thin out on a narrow screen rather than colliding.
  • ImprovedA period with no revenue says so in words, instead of drawing a flat line along the bottom with a peak marker on nothing.

Product pages that read like Shopify

0.74.0 · Aug 26, 2026

  • ImprovedA product page now compares itself with the period before it: total sales lead with the number and the change against that window, the chart carries a lighter dashed line for the previous period with both date ranges named underneath, and orders and average order value sit as paired bars.
  • ImprovedContent linked to a product is now a single mix bar in board order with the counts beside it, instead of a separate panel further down the page.
  • NewThe products list is paged at 25 rows. The counts above the table stay on the whole catalogue whichever page you are on, so a store with hundreds of products stays one quick query.
  • ImprovedClicking a product opens it in the same tab now, so back returns you to the list where you were.
  • NewTeam avatars in the header show who a face belongs to on hover, use the profile photo when one is set, and open the team page when clicked.

Every product has a page now

0.73.0 · Aug 26, 2026

  • NewClick a product and it opens its own page: what content is linked to it, split by status, plus the media in your hub, the personas targeting it and the gifts sent with it. A date picker sets the period, the same one the dashboard uses.
  • NewWith Shopify connected that page also shows revenue and orders for that single product over the chosen period, straight from your store.
  • ImprovedThe products list was rebuilt: the SKU sits under the product name, amounts line up on the right, and margin is shown per product. A product with no cost price reads as unknown rather than as zero margin, and the header says how many are still missing one.

Prices that look like prices

0.72.2 · Aug 25, 2026

  • ImprovedThe products table shows both the selling price and the cost price as amounts with a euro sign and cents, instead of a bare number next to an empty field marked optional.

Cost prices come from Shopify

0.72.1 · Aug 25, 2026

  • NewProduct sync now brings in the cost per item your store already keeps in Shopify, so margins do not depend on typing them over. The sync says how many came through.
  • ImprovedA product Shopify has no cost for keeps whatever you filled in here, so a re-sync never wipes out work you did by hand.

Gifting actually sends

0.72.0 · Aug 25, 2026

  • NewTurning a gift on now hands it out. Every creator in the targeted tiers gets an order in your Shopify store holding the product at no cost, plus an email with a link to claim it. They fill in their own delivery address, which is the only place it could come from, and that makes claimed mean something real.
  • NewNew creators who later match the tier get theirs by themselves, and nobody is ever gifted twice from the same campaign. A gift Shopify refuses is recorded with the reason instead of being retried forever in silence.
  • ImprovedProduct sync now remembers which Shopify variant each product is, which is what lets a gift be placed on a real order.

Your dashboard knows the whole store

0.71.0 · Aug 25, 2026

  • NewThe affiliate dashboard now shows what share of your total store sales came through creators, next to your store's order count and average order value. Until now every number on that page counted affiliate orders only, with nothing to compare them to.
  • ImprovedStore figures come straight from Shopify and stop at yesterday, so a half finished day never reads as a drop. Without a connected store the panel says so instead of showing a zero.

No false alarm on a healthy store

0.70.5 · Aug 25, 2026

  • FixedA correctly connected Shopify store could be told it was missing permissions it actually had. Shopify reports a write permission without its matching read one, and reconnecting would never have cleared the warning.

Installing from Shopify works

0.70.4 · Aug 25, 2026

  • FixedInstalling Ecomyard from the link in your Shopify admin failed with a message about the install link not matching your workspace. Only a connect started from our own Connections page used to work. An install that begins in Shopify now joins that same flow by itself and lands connected.

A connection that needs reconnecting says so

0.70.3 · Aug 25, 2026

  • NewA Shopify store connected before a feature existed never granted the permission that feature needs, and used to look perfectly healthy until something failed. The connection page now names the missing permissions and offers Reconnect, so you find out before a sync fails instead of after.

Clicking the app in Shopify lands somewhere useful

0.70.2 · Aug 25, 2026

  • FixedOpening Ecomyard from your Shopify admin used to drop you on the marketing homepage. It now takes you to the workspace that store belongs to, or straight to the connect screen with your shop already filled in if it is not linked yet.
  • FixedSigning in from a link that carried extra context, like which store you came from, no longer loses it on the way to the login screen.

Shopify permissions, checked against the real schema

0.70.1 · Aug 25, 2026

  • FixedThe app asked Shopify for a permission that does not exist, which would have left the dashboard unable to read shop figures after connecting. It now asks for the right one.
  • FixedRemoving a creator's code from a discount called a Shopify mutation that is not real, so moving a creator between programs could leave the old code behind. Verified against Shopify's schema this time.
  • ImprovedProduct sync reads the cost price per variant straight from Shopify where the store keeps one, so margin does not depend on typing it in.

Bring your old spreadsheet

0.70.0 · Aug 25, 2026

  • NewImport your existing sheet onto the content board or into your affiliate list. Paste a range straight out of Google Sheets or Excel, or drop a CSV. We match the columns we recognise, including Dutch headers, and you fix the rest before anything is written.
  • NewWhatever the sheet mentions that we do not have yet gets created along with it: an ICP, a product for an unknown SKU. Rows without a name are skipped and counted, and a creator whose email is already on your list is left alone.
  • NewProducts now have their own page and come straight from Shopify instead of being typed in. Sync pulls title, SKU, price and image, and you can add a cost price per product, which is what real ROAS needs.
  • NewNo sheet to start from? Download a template from the import screen. It carries the exact columns with a filled in example row, and pasting it back maps every field on its own.

Labels are folders now

0.69.0 · Aug 25, 2026

  • NewMake your own labels and they become folders in the sidebar under Content. Winner and Loser are there to start with, and anything you already marked kept its label.
  • NewA creative can carry several labels at once. Open its sheet on the content board and switch them on and off, or make a new one right there.
  • NewOpening a label folder shows only the media of the creatives in it, as tiles with the creative name underneath. Click one to play or view it full size.

Mail that reaches people

0.68.0 · Aug 24, 2026

  • NewCreators now hear about their money. A sale on their code sends them a Commission earned mail with the amount and a link straight to their portal, and a refund that reverses it says so too.
  • NewTeam alerts reach workspaces without Slack. Application received, delivery submitted, commission ready, payout paid and creative handoff now also go by email to owners and admins. Workspaces on Slack keep getting them there only, so nothing arrives twice.
  • FixedCampaigns can be sent lawfully. Every campaign mail now shows which brand it is from, replies go to that brand, and it carries a working unsubscribe link plus one-click unsubscribe support. Creators who unsubscribe are left out of future campaigns but still get the mail about their own earnings.

Safe links actually work now

0.67.0 · Aug 24, 2026

  • FixedEvery creator now gets a safe link. Until today nothing ever handed one out, so the rotating single-use codes could not be reached at all and creators shared a plain referral link instead. Existing creators got theirs too.
  • NewEach click on a safe link hands out a fresh single-use discount code and counts the click, so a leaked code is worthless after one use and the click counter in the portal shows real traffic.
  • FixedA workspace without a store domain no longer sends shoppers to a sample domain that belongs to someone else. They land on Ecomyard instead.

Eight more caught by the second sweep

0.66.0 · Aug 24, 2026

  • FixedMoving a creator to another tier now also moves their commission rate. Before, the tier changed on screen while every future sale still paid the old percentage. The rate is read from the tier itself, so the label and the money can no longer disagree.
  • FixedA campaign is claimed before the first email leaves, so a second click, a second admin or a members-only account can no longer blast your whole affiliate list twice. A send that stops halfway now says how many people it reached instead of offering a Send button again.
  • FixedThe creator portal no longer shows a clicks counter that could never move, and briefs in the delivery picker show their real pay, so a 15 percent commission job stops reading as 0 euro.
  • FixedA creator application that gets rejected keeps everything they typed and explains itself inline, instead of clearing all nine fields and blaming the link.
  • FixedA team member who clicks Connect now gets told that only admins can connect tools, on the connector's own page. The button is disabled for them rather than bouncing them to an empty list.
  • ImprovedGifting says what it really does: rules are saved and targeted, but handing gifts out is still manual, so nothing claims to be sending.
  • FixedThe standing panel in the portal no longer renders an empty box when creators tie on score.

Know which workspace you are in

0.65.3 · Aug 24, 2026

  • FixedThe workspace switcher shows each workspace's domain under its name, so two workspaces with the same name are no longer identical rows you can pick wrong.
  • FixedThe plan badge follows your real subscription instead of always reading Trial.

Creators can upload video again

0.65.2 · Aug 24, 2026

  • FixedDelivering a video from the creator portal failed: the file reached storage, but a copy was also sent through the form handler, which refuses anything over 1 MB. Uploads of any size now go through.

The audit of yesterday's feature

0.65.1 · Aug 24, 2026

  • FixedA discount value typed with a comma, like 12,5, now means 12.5 percent. It used to be read as 125 and pushed to Shopify as a 100 percent discount. Values that are not numbers are refused with a clear message instead of quietly becoming 10.
  • FixedTwo creators with the same first name no longer end up sharing one discount code, which would have sent all of their commission to whoever the system picked first.
  • FixedCreator codes are only reported as live once Shopify confirms them, and a creator you deactivate has their code pulled from the store instead of leaving it working at checkout.
  • FixedTier targeting on campaigns matches real creator tiers again. The picker offered labels that matched nobody, so a tier-targeted campaign reached zero people.
  • FixedPaying out, marking a payout paid, settling an order and stopping a gift now say when they fail instead of looking like they worked. Payouts need a connected method first, and campaigns are no longer marked sent when nothing could be delivered.
  • ImprovedThe program card distinguishes live discount rules from an update Shopify has not accepted yet, and amounts on the payouts page all show cents.

Programs own their discount

0.65.0 · Aug 24, 2026

  • NewEvery program now carries its own discount rules: percentage or fixed amount, minimum order value, one use per customer, and stacking with product discounts. Set them when creating a program or edit them on the program card.
  • NewWith Shopify connected, each program becomes one discount in your store and every creator in it gets their own code inside that discount. Codes go live the moment an affiliate is approved, and moving a creator to another program moves their code along.
  • FixedA creator's personal code now actually exists in Shopify. Before, only the rotating safe-link codes were created, so a shared personal code did nothing at checkout.