Search

Jump to a page or search the docs

Trigger: First-Time Transaction

Last updated August 26, 2026

Fires on a customer's first transaction matching this trigger's filters.

The important word is matching. First-time is scoped to whatever you filter on, not to your business as a whole — which makes this event more flexible than it first looks.

Before you start: read Triggers for the four-step wizard, the Advanced Options, and how templates and delivery work. This page only covers what is different about this event.


How "first" is decided

This is the one thing to understand before you configure anything.

With no filters set, first-time means their first transaction anywhere in your business. Someone who has parked at Meridian Square for two years and visits Keystone Lot for the first time will not fire this trigger.

With a location or vendor filter set, first-time means their first transaction there. That same long-standing Meridian customer parking at Keystone Lot for the first time will fire a trigger scoped to Keystone Lot.

The portal states this in an info callout on the audience step, and it is worth reading twice — it is the difference between a "welcome to our garages" email and a "welcome to this garage" email.


Audience filters

Choose First-Time Transaction on the event picker and you land on Which transactions.

FireShot Capture 040 - Edit Trigger - Dash Marketing - portal.dashmarketing.io| Filter | What it does | | --- | --- | | Product | Transient, Monthly, Flex Pass, Reservation | | Locations | Restrict to specific locations | | Cities | Free text, matched against the location's city, case-insensitively | | Minimum amount | Transaction value floor, in dollars | | Include vendors | Only transactions through these vendors qualify | | Exclude vendors | Transactions through these vendors never qualify | | Ignore refunded transactions | On by default — "a refund is not a visit worth celebrating" |

Every filter is optional. Leave one blank and it places no constraint.

Exclusions win. A vendor in Exclude vendors is skipped even when it would otherwise match everything else. If a transaction is both included and excluded, it is excluded.

Cities is free text. It matches against the city recorded on the location, ignoring case. Useful for a metro-wide email without listing every garage individually — but it depends on your location records having clean city data.


Worked example

[Example] First Park Thank-You — Meridian Square — saved in the account as a draft, switched off.

SettingValue
EventFirst-Time Transaction
ProductTransient
LocationsMeridian Square Garage
Cities(none)
Minimum amount$5
Include vendors(none)
Exclude vendorsPermitMonthly
Ignore refunded transactionsOn
Trigger Name[Example] First Park Thank-You — Meridian Square
Priority0
Stop after this triggerOff
ChannelEmail
Recipient{{EMAIL}}
From Email(default sender)
StatusOff

What it does. Someone parks at Meridian Square Garage for the first time, on a transient (drive-up) basis, spending at least $5. They get a thank-you with directions to the exit, a note about the monthly option, and a link to save their details.

Why each filter is there:

  • Transient — this is a drive-up welcome. Permit holders get New Subscription instead.

  • Meridian Square Garage — scopes "first" to this garage. Regulars from other locations still get welcomed here, which is the point.

  • $5 minimum — filters out the fifteen-minute stops and validation adjustments that aren't really a first visit.

  • Exclude PermitMonthly — belt and braces. A permit-linked transaction should never read as a drive-up first visit.

  • Ignore refunded — left on. A charge that was refunded is not a good moment to say thank you.

Screenshot 2026-08-26 at 8.16.17 PM---

Things that catch people out

Loosening a filter re-opens the door. Removing the location filter from a live trigger changes "first at Meridian Square" to "first anywhere." Customers who already received the location version will not receive the global one — but everyone who has parked elsewhere and not here becomes ineligible. Changing filters on a live trigger changes who qualifies, in both directions.

Minimum amount is per transaction. It is not a running total. For thresholds across multiple visits, use Transaction Milestone.

One trigger per location gets repetitive fast. If you want the same welcome at every location, leave Locations blank and accept the global definition of "first" — or build one per location and accept the maintenance. There is no middle setting.

Was this page helpful?