# Set a monthly sales or weekly ROAS target

> Tell Piste the net sales you're aiming for each month, or a weekly return on ad spend, and it judges where you stand from Shopify's closed days.

Source: https://www.usepiste.com/docs/measurement/targets

A target is the number you're aiming for, so Piste can say whether a figure is good. Piste holds two kinds: net sales over a calendar month, and return on ad spend over a Monday-to-Sunday week. You set a target by telling Piste in a conversation; there's no form or settings screen for it.

## Which targets can I set?

| Target | Period | Counted as | Needs |
|---|---|---|---|
| Net sales | Each calendar month | Shopify's net sales, in the store's currency | A connected [Shopify store](https://www.usepiste.com/docs/shopify) with its sales reports |
| Return on ad spend (early access) | Each Monday-to-Sunday week | All of Shopify's sales per unit of ad spend | A [Google Ads or Meta account](https://www.usepiste.com/docs/google-ads-and-meta) that reports in the store's currency |

Both recur until you change them: a monthly target holds every month, and a weekly one every week. Both are judged in the store's time zone, on closed days only, so today never counts until it's over.

The return on ad spend target is blended: it divides all of Shopify's sales, not only what the ads brought in, by the ad spend Piste has read from your accounts. It's the same ratio Ad spend watch shows each morning.

## How do I set a target?

Only the workspace owner sets targets. You can do it on the web, in Slack or over iMessage.

### 1. Tell Piste the target

Say it in your own words, such as "Our target is 240k net sales a month" or "We're aiming for 3x return on ad spend".

### 2. Check what Piste read back

Piste saves exactly what you said and reads back what it saved and where the target stands now. There's nothing to click. If it misheard, correct it in your next message.

### 3. Change or drop it later

To change a target, state the new one and it replaces the old. To stop judging against it, ask Piste to drop it.

Piste never sets a target you didn't state, and an automation run can't set one. If you give a target for another period, such as a quarter, or in another currency, Piste asks you to restate it as net sales a month in the store's currency; it doesn't convert. A workspace with [several stores](https://www.usepiste.com/docs/shopify/several-stores) holds a target per store, and Piste asks which store you mean.

## How do I check progress?

Ask Piste, for example "How are we doing against our target?". Anyone who talks to Piste can ask. The answer is worked out in code from Shopify's closed days, and for a return target from the ad spend Piste last read.

A net sales target reads as one of these:

| Status | What it means |
|---|---|
| Too early | The month has no closed day yet |
| Ahead, or behind | Net sales so far against an even pace through the month, by how many days |
| On pace | Within 5% of an even pace |
| Out of reach | At the last 7 closed days' rate, the month would end more than 10% short |
| Met | Net sales have reached the target |
| Missed | The month ended short of it |

A return on ad spend target reads as over, about or under your goal for the week so far, then met or missed once the week's spend is all in. "About" means within 5% of the goal. It isn't judged without ad spend that week, or when an ad account reports in a different currency from the store, and Piste says why.

Until a day of the new week's ad spend is in, Piste talks about last week instead, such as "Last week Shopify sales were $3.40 per $1 of ad spend, meeting your $3.00". Usually that's on Monday. When an ad account's day ends after your store's, such as a New York account for a Sydney store, Sunday's spend may not be in yet on Monday. Piste then gives last week without a verdict, "Last week through Saturday, Shopify sales were $3.40 per $1 of ad spend, over your $3.00; Sunday's ad spend isn't in yet", and says met or missed once Sunday is in, usually the next day.

## Where does Piste post about targets?

Piste posts about targets from Ad spend watch's run (early access), the morning automation that sets ad spend against Shopify's orders. While it's running:

- Its daily post opens with a "Targets:" line saying where each one stands.
- The first day a target slips, Piste posts once to say so, with the numbers. A net sales target slips when it's out of reach, or behind with the last 7 days' rate short of what's still needed; a return target slips when it's more than 5% under your goal. Piste stays quiet in a month's first 7 days, a week's first 3 days, and on the day you set the target.
- When a month ends, Piste posts once whether its target was met or missed, if you set it at least 7 days before the month ended. A week's result is on the daily line instead, which keeps to last week until a day of the new week's ad spend is in.

The daily line is on Ad spend watch's post, wherever that goes. The slipping and month-end posts go to Slack only: where Ad spend watch posts if that's Slack, otherwise your Slack DM with Piste. Without Slack, they aren't sent.

Ad spend watch needs a Google Ads or Meta account. Without one, a net sales target still works: Piste judges it whenever you ask, but nothing posts it daily.

## Limits

| What | Limit |
|---|---|
| Targets of each kind | One live target per kind (per store with several stores) |
| On pace | Within 5% of an even pace, or of the return goal |
| Run rate | The average of the last 7 closed days |
| Out of reach | The month would end more than 10% short at the run rate |
| Quiet start | No slipping post in a month's first 7 days or a week's first 3 days |
| Largest net sales target | 1,000,000,000 in the store's currency |
| Largest return target | 100x |

## Related

- [Templates](https://www.usepiste.com/docs/automations/templates): Ad spend watch, which carries the daily targets line.
- [Measurement](https://www.usepiste.com/docs/measurement): what your ad spend did, by channel.
- [Margin memo](https://www.usepiste.com/docs/measurement/margin-memo): what a week made after product cost and ad spend.

## Questions

### How do I set a target in Piste?

Tell Piste in a conversation, for example "Our target is 240k net sales a month". Only the workspace owner can set, change or drop a target, and Piste reads back exactly what it saved.

### Can I set a quarterly or yearly target?

No. Piste holds net sales over a calendar month and return on ad spend over a Monday-to-Sunday week. If you give another period or currency, Piste asks you to restate the target rather than converting it.

### Can a teammate set the target?

No. Only the workspace owner can set, change or drop a target. Anyone who talks to Piste can ask where the targets stand.

### Do today's sales count towards a target?

No. Piste judges only closed days in the store's time zone, so today's sales count from tomorrow.

### Will Piste tell me every day how a target is doing?

Only while Ad spend watch is running, which needs a Google Ads or Meta account. Without it, ask Piste how a target stands whenever you like.

### Is the ROAS target only the sales my ads brought in?

No. It's blended: all of Shopify's sales per unit of ad spend over the week, counted the way Ad spend watch counts it.
