It's best to have at least three marketing campaigns to attract and keep customers.
You can use many different tactics or mixes of them: email marketing, social media, ads, etc.
The important thing is to make sure you're tracking their performance and change or cut out tactics that under-perform.
Customer Acquisition Campaign - primarily targeting non-customers, this would include a mix of your sales and promotions along with trust-building content. In email marketing this is the prospect list.
New Customer Campaign - this campaign should be sent to every new customer to help them get acquainted with your company, products, and continue to build up trust. It'd be limited by time so they'd only receive it for say 2 months.
Ongoing Customer Campaign - every customer would receive this which includes your best promotions and incentives. Content-wise it might be similar to your Customer Acquisition Campaign, just more and better and more betterer.
The three would build on each other. So a new customer would get the New Customer Campaign along with the Ongoing Customer Campaign and maybe the Customer Acquisition Campaign too if they opt-ed in for something first.
With these three you have a place to drive traffic to (#1), to build long-term repeat customers (#2), and to retain loyal customers (#3). Your goal would be to grow all three but #3 would be your long-term focus.
Each of these can be sub-divided and segmented based on how large your lists are, but start with these three first.
You can use Repeat Customer Insights to help figure out how often you should be contacting customers, as well as helping to divide and segment the Ongoing Customer Campaign.
Analyze your customer behavior
A quick and automatic way to measure your customer behavior is with Repeat Customer Insights. It'll automatically import your Shopify data and run a number of analyses to highlight different customer behavior.