Library / DTC brands / Jacksonville

SoutheastJacksonville

Shopify Klaviyo setupThe integration is 'on'. The data model is not

The integration is 'on'. The data model is not.

00

The short version

Intern through CEO

Read it once, then stop negotiating with it. Shopify Klaviyo setup for operators in Jacksonville is a wiring job: events → placed order → identity → stranger test. Objects, then edges, then one test conversion. You do not need a new tool to start. You need the first writer to land on one contact this week.

  1. 01

    Operators in Jacksonville do not have a Shopify Klaviyo setup problem because they lack Shopify + Klaviyo. They have it because the integration is 'on'. The data model is not.

  2. 02

    Wire these objects first: Shopify integration, Placed Order metric trust, onsite tracking (js), profile identity, duplicate junk, events you need vs events you ignore.

  3. 03

    Then these edges, in order: Test Placed Order → one profile, correct revenue, correct items; no duplicate profiles · Onsite tracking → Viewed Product / Added to Cart fire on a real browse · Historical sync → understood (what came over, what did not); not assumed complete · Account extras (reviews, subscriptions) → metrics verified or explicitly out of scope

  4. 04

    Done looks like a test you can repeat: Place a $1 order. Find exactly one profile. Confirm the metric payload. Browse a product in a private window with the tracker; confirm Viewed Product. Search for your email: if two profiles exist, identity is the ticket — not a new flow.

  5. 05

    Start here: Events you need actually fire

In even plainer words

Operators in Jacksonville already have Shopify + Klaviyo. The leak is not a missing feature. The integration is 'on'. The data model is not. Software did not cause it. A missing write-in did: the person exists in one tool and not in the pipeline.

Here is how you actually wire it. Name the objects: Shopify integration, Placed Order metric trust, onsite tracking (js), profile identity, duplicate junk, events you need vs events you ignore. Then connect these edges, in order: Test Placed Order → one profile, correct revenue, correct items; no duplicate profiles · Onsite tracking → Viewed Product / Added to Cart fire on a real browse · Historical sync → understood (what came over, what did not); not assumed complete · Account extras (reviews, subscriptions) → metrics verified or explicitly out of scope. If you skip an edge, the next one is decoration. If you add a Shopify + Klaviyo feature first, you usually skip an edge without noticing.

Prove it with a test, not a screenshot. Place a $1 order. Find exactly one profile. Confirm the metric payload. Browse a product in a private window with the tracker; confirm Viewed Product. Search for your email: if two profiles exist, identity is the ticket — not a new flow. How you know it worked on the board: Placed Order is clean (or every metric downstream is dirty). If that number is a vibe, do not add traffic.

What to do this week, and only this week: Events you need actually fire An intern can run the objects page and one test conversion. A CEO should protect that from a second priority.

Who

Same system. Three jobs.

Read your row

Intern

What you actually do

Day one: the integration is 'on'. The data model is not. List events you need. Verify Placed Order. Hunt duplicates. Do not build welcome until the metric is trustworthy. Onsite tracking is a test, not a checkbox.

Operator

What you protect

You already feel the integration is 'on'. the data model is not. The integration is 'on'. The data model is not. Protect one sequence for 90 days. The four moves are events → placed order → identity → stranger test. The edges are Test Placed Order → one profile, correct revenue, correct items; no duplicate profiles then Onsite tracking → Viewed Product / Added to Cart fire on a real browse. Events you need actually fire. Placed Order is trustworthy. Profiles are not duplicated. On-site tracking is verified as a stranger — not as a logged-in admin.

CEO

What you refuse to fund

This is a money leak, not a preference about tools. The integration is 'on'. Until placed order is a number you will defend, buying more traffic or more seats makes the leak more expensive. Refuse a second database: Test Placed Order → one profile, correct revenue, correct items; no duplicate profiles.

Example

A Tuesday that looks familiar

Before / after

Before

Tuesday. Someone among operators in Jacksonville. The integration is 'on'. The data model is not. Shopify + Klaviyo is open. A colleague asks where a person sits. The answer is a screenshot, a Slack thread, or “I think they’re interested.” The writer (form, calendar, shop, or phone) and the pipeline are two databases.

After

Same Tuesday, after write-in exists. Events you need actually fire. Placed Order is trustworthy. Profiles are not duplicated. On-site tracking is verified as a stranger — not as a logged-in admin. Test Placed Order → one profile, correct revenue, correct items; no duplicate profiles The next move is written. That is the difference between a login and a system.

Worked example

Keep it this plain. A person in operators in Jacksonville already paid for Shopify + Klaviyo. The integration is 'on'. The data model is not. They add a page, a form, a calendar. None of it writes into a spec. By Friday the calendar has ghosts and the pipeline still looks like the snapshot.

The fix is not a better template. Events you need actually fire. Prove write-in: Place a $1 order. Find exactly one profile. Confirm the metric payload. Browse a product in a private window with the tracker; confirm Viewed Product. Search for your email: if two profiles exist, identity is the ticket — not a new flow. This week is one move: Events you need actually fire If that feels too small, that is the point. Operators fail by starting at move four.

01

Leak versus system

Shopify + Klaviyo

The leak

The integration is 'on'. Viewed Product never fires. Placed Order is duplicated or missing value. Profiles are junk. Flows look live and do nothing.

The system

Events you need actually fire. Placed Order is trustworthy. Profiles are not duplicated. On-site tracking is verified as a stranger — not as a logged-in admin.

How it actually works

Test as an incognito buyer. Add to cart. Purchase. Check the profile. If the events are wrong, every flow you write is cosplay. This is unglamorous and it is the whole job in week one.

Duplicate profiles and missing product data make revenue metrics theatre. Fix identity and Placed Order before anyone argues about subject lines.

Events you need actually fire. Placed Order is trustworthy. Profiles are not duplicated. On-site tracking is verified as a stranger — not as a logged-in admin.

Klaviyo 'connected' is not a data model. Events you need must actually fire. Placed Order must be trustworthy — revenue, items, discounts. Profiles must not be duplicated junk (email case, guest checkout, POS). Onsite tracking is verified on a real product page, with ad blockers noted. If Viewed Product does not fire, browse abandonment is fiction.

Wire identity: email as key, phone if SMS, Shopify customer ID as a property. Guest vs account: know what happens. Refunds should emit a metric you will use later. If you use Recharge or a reviews app, those integrations are separate proofs. Do not assume they came along. A metric that sometimes fires is worse than one you know is absent.

Two databases: Shopify customers and a Klaviyo profile graveyard from an old store URL or a second account. The intern places an order and a refund and a browse. They do not install five apps. If duplicates exist, merge rules and form settings are the work. Flows built on a lying Placed Order will lie at scale. That is expensive folklore.

Wire

How to connect it

Objects, then edges, then a test

Shopify integration, Placed Order metric trust, onsite tracking (js), profile identity, duplicate junk, events you need vs events you ignore.

  1. 01

    Test Placed Order → one profile, correct revenue, correct items; no duplicate profiles

  2. 02

    Onsite tracking → Viewed Product / Added to Cart fire on a real browse

  3. 03

    Historical sync → understood (what came over, what did not); not assumed complete

  4. 04

    Account extras (reviews, subscriptions) → metrics verified or explicitly out of scope

Prove write-in

Place a $1 order. Find exactly one profile. Confirm the metric payload. Browse a product in a private window with the tracker; confirm Viewed Product. Search for your email: if two profiles exist, identity is the ticket — not a new flow.

Day one: the integration is 'on'. The data model is not. List events you need. Verify Placed Order. Hunt duplicates. Do not build welcome until the metric is trustworthy. Onsite tracking is a test, not a checkbox.

02

The spine

Scan first
01

Events

Viewed product, added to cart, checkout, placed order — proven.

02

Placed Order

One clean event. Product, value, customer.

03

Identity

Profiles not duplicated junk. Email is the key.

04

Stranger test

Incognito. The admin view lies.

Steps

Do this in order

Why, then done when
  1. 01

    Write the leak in one sentence

    On one line, for operators in Jacksonville: The integration is 'on'. The data model is not. Add who gets hurt (calendar, cash, inbox, or reputation). If two people write different sentences, you do not agree yet — stop and agree.

    Why: Teams skip this and jump into settings. Then every person is fixing a different problem with the same login.

    Done when: One sentence. Shared. No adjectives required.

  2. 02

    Name the objects

    Shopify integration, Placed Order metric trust, onsite tracking (js), profile identity, duplicate junk, events you need vs events you ignore.

    Why: If objects aren't named, software invents a second database.

    Done when: A stranger can list them.

  3. 03

    Events

    Viewed product, added to cart, checkout, placed order — proven. Then wire: Test Placed Order → one profile, correct revenue, correct items; no duplicate profiles

    Why: Operators in Jacksonville cannot skip this edge. Klaviyo 'connected' is not a data model. If it is not true, Shopify + Klaviyo is already a second database.

    Done when: Test Placed Order → one profile, correct revenue, correct items; no duplicate profiles is true on a test.

  4. 04

    Placed Order

    One clean event. Product, value, customer. Then wire: Onsite tracking → Viewed Product / Added to Cart fire on a real browse

    Why: Operators in Jacksonville skip this and the leak returns as a private language. Wire identity: email as key, phone if SMS, Shopify customer ID as a property. Spec tags, fields, and states have to be the same objects the next workflow will read.

    Done when: Onsite tracking → Viewed Product / Added to Cart fire on a real browse is true on a test.

  5. 05

    Identity

    Profiles not duplicated junk. Email is the key. Then wire: Historical sync → understood (what came over, what did not); not assumed complete

    Why: Operators in Jacksonville feel this as the integration is 'on'. The data model is not. Two databases: Shopify customers and a Klaviyo profile graveyard from an old store URL or a second account.

    Done when: Historical sync → understood (what came over, what did not); not assumed complete is true on a test.

  6. 06

    Prove write-in

    Place a $1 order. Find exactly one profile. Confirm the metric payload. Browse a product in a private window with the tracker; confirm Viewed Product. Search for your email: if two profiles exist, identity is the ticket — not a new flow.

    Why: Calendar full + pipeline empty means two databases.

    Done when: One test conversion, one contact, right stage/state.

  7. 07

    Put a number on the wall

    Every Monday, look at Placed Order (Or every metric downstream is dirty), then on-site (As a stranger). Write one action or write “hold.” A dashboard with no action is theatre.

    Why: What gets reviewed gets run. What only lives in a tool gets ignored the week someone is busy.

    Done when: Three numbers. One owner. Fifteen minutes. Actions attach.

  8. 08

    Finish one move this week

    Events you need actually fire

    Why: Operators fail by starting at move four. Interns fail by making a 40-item checklist. CEOs fail by adding a second priority. One proven write-in beats an elegant plan.

    Done when: The move is true, or you can name the blocker in one sentence.

Walkthrough

The four moves, expanded

Same spine. More words.
01

Name the objects

Shopify integration, Placed Order metric trust, onsite tracking (js), profile identity, duplicate junk, events you need vs events you ignore.

If objects aren't named, software invents a second database.

The integration is 'on'. The data model is not.

02

Events

Viewed product, added to cart, checkout, placed order — proven. Then wire: Test Placed Order → one profile, correct revenue, correct items; no duplicate profiles

Operators in Jacksonville cannot skip this edge. Klaviyo 'connected' is not a data model. If it is not true, Shopify + Klaviyo is already a second database.

On Shopify + Klaviyo, this means the data model matches how operators in Jacksonville actually work — not the snapshot demo. Edge: Onsite tracking → Viewed Product / Added to Cart fire on a real browse

03

Placed Order

One clean event. Product, value, customer. Then wire: Onsite tracking → Viewed Product / Added to Cart fire on a real browse

Operators in Jacksonville skip this and the leak returns as a private language. Wire identity: email as key, phone if SMS, Shopify customer ID as a property. Spec tags, fields, and states have to be the same objects the next workflow will read.

Events you need actually fire. Placed Order is trustworthy. Profiles are not duplicated. On-site tracking is verified as a stranger — not as a logged-in admin.

04

Identity

Profiles not duplicated junk. Email is the key. Then wire: Historical sync → understood (what came over, what did not); not assumed complete

Operators in Jacksonville feel this as the integration is 'on'. The data model is not. Two databases: Shopify customers and a Klaviyo profile graveyard from an old store URL or a second account.

Events you need actually fire

Why

Questions people actually ask

Pushback is normal

Why not just buy another Shopify + Klaviyo feature?

Because the login already exists. The integration is 'on'. Viewed Product never fires. A new feature on a missing spec is a second database. Finish this edge first: Test Placed Order → one profile, correct revenue, correct items; no duplicate profiles.

Why start with objects instead of a workflow?

Day one: the integration is 'on'. The data model is not. List events you need. Verify Placed Order. Hunt duplicates. Do not build welcome until the metric is trustworthy. Onsite tracking is a test, not a checkbox. Workflows on unnamed objects fire on folklore. Name contact (or profile), stage or state, and the writer (form, calendar, metric) before any on-switch.

What does “wired” actually mean?

A test conversion creates or updates one person, on the right stage or state, with the fields the next sequence will read. Place a $1 order. Find exactly one profile. Confirm the metric payload. Browse a product in a private window with the tracker; confirm Viewed Product. Search for your email: if two profiles exist, identity is the ticket — not a new flow. If you merge after the test, identity is wrong — fix that, do not add a dedupe automation.

Why write it down if the team already knows?

If it is only in someone's head, a new hire needs a story, reporting cannot be defended, and automations fire on folklore. Writing is how two people mean the same object on Monday.

Why does this keep coming back after we 'set it up'?

Because setup was a project, not a review. Duplicates (Identity before creative) is how you stop the leak returning dressed as a new feature. If Placed Order is dirty, every metric is theatre. If browse collides with cart, you trained people to ignore you. Discount-first abandon trains the wrong buyer — especially when consideration is long. Score the system. Then ship the two worst gaps. Not another brand story.

Why should operators in Jacksonville care about this versus more leads?

More leads into a leak is a more expensive leak. Events you need actually fire. Placed Order is trustworthy. Profiles are not duplicated. On-site tracking is verified as a stranger — not as a logged-in admin. Watch placed order before you buy traffic. If that number is folklore, acquisition is a vanity spend.

What if we do not have time?

Then you only have time for the objects page and one test conversion. Events you need actually fire That is the intern version of strategy. Protect it from a second priority for seven days.

03

Skip this / do this

Same four moves

Skip this

Leaving objects unnamed because Shopify + Klaviyo is “set up”.

Do this

Shopify integration, Placed Order metric trust, onsite tracking (js), profile identity, duplicate junk, events you need vs events you ignore.

Skip this

Building a workflow or flow before a writer lands on one contact.

Do this

Test Placed Order → one profile, correct revenue, correct items; no duplicate profiles

Skip this

Calling it done because a screenshot looks busy.

Do this

Place a $1 order. Find exactly one profile. Confirm the metric payload. Browse a product in a private window with the tracker; confirm Viewed Product. Search for your email: if two profiles exist, identity is the ticket — not a new flow.

Skip this

Leaving “Stranger test” to chance.

Do this

Incognito. The admin view lies.

Misses

How this usually goes wrong

Then the fix

The usual miss

Calling Shopify + Klaviyo “set up” because someone logged in and imported a snapshot.

Do this instead

Viewed product, added to cart, checkout, placed order — proven. Then prove write-in: Place a $1 order.

The usual miss

Building the workflow or flow before the writer (form, calendar, shop event) lands on one contact.

Do this instead

Connect Test Placed Order → one profile, correct revenue, correct items; no duplicate profiles first. Automations on a missing writer invent a second database.

The usual miss

Adding a page, form, flow, or campaign every time last week hurt.

Do this instead

Name which edge is missing. Fix that edge. Hurt is usually a skipped write-in, not a missing asset.

The usual miss

Reporting that nobody will defend in a meeting — screenshots, vanity opens, 'interested' counts.

Do this instead

Placed Order: Clean. Or every metric downstream is dirty. If you cannot say it out loud, it is not a scoreboard.

The usual miss

Hiring or retaining an agency to invent the spec while also running the calendar.

Do this instead

Hands on a known sequence are useful. Hands inside a missing spec pick the louder job (the calendar) and the leak stays.

04

What to watch

A scoreboard

Placed Order

Clean

Or every metric downstream is dirty

On-site

Verified

As a stranger

Duplicates

Killed

Identity before creative

This week

Events you need actually fire

Jacksonville · Southeast. Remote-first. The examples follow the city; the spine does not.

01

Events you need actually fire

02

Placed order is trustworthy

03

Profiles are not duplicated junk

04

Onsite tracking is verified

Want the longer lesson, not the page for this niche? A CRM login is not a system

Working notes

DTC Retention Scorecard

Score your Klaviyo and lifecycle system the way an operator would. Request the file. It arrives by email — not a public dump, not a drip of slogans.

Request the notes ↗
Notes

Questions that come up

Jacksonville

Explain this like I have five minutes.

Operators in Jacksonville do not have a Shopify Klaviyo setup problem because they lack Shopify + Klaviyo. They have it because the integration is 'on'. The data model is not. Wire these objects first: Shopify integration, Placed Order metric trust, onsite tracking (js), profile identity, duplicate junk, events you need vs events you ignore. Then these edges, in order: Test Placed Order → one profile, correct revenue, correct items; no duplicate profiles · Onsite tracking → Viewed Product / Added to Cart fire on a real browse · Historical sync → understood (what came over, what did not); not assumed complete · Account extras (reviews, subscriptions) → metrics verified or explicitly out of scope Done looks like a test you can repeat: Place a $1 order. Find exactly one profile. Confirm the metric payload. Browse a product in a private window with the tracker; confirm Viewed Product. Search for your email: if two profiles exist, identity is the ticket — not a new flow. Start here: Events you need actually fire

Do you work with operators in Jacksonville?

Yes. Remote-first, US-friendly hours. Jacksonville is how people search — not a storefront.

What is actually local?

Examples, timing, and scheduling. The spine does not get rewritten for every skyline: events → placed order → identity → stranger test.

What does a real week look like from Jacksonville?

Before: Tuesday. Someone among operators in Jacksonville. The integration is 'on'. The data model is not. Shopify + Klaviyo is open. A colleague asks where a person sits. The answer is a screenshot, a Slack thread, or “I think they’re interested.” The writer (form, calendar, shop, or phone) and the pipeline are two databases. After: Same Tuesday, after write-in exists. Events you need actually fire. Placed Order is trustworthy. Profiles are not duplicated. On-site tracking is verified as a stranger — not as a logged-in admin. Test Placed Order → one profile, correct revenue, correct items; no duplicate profiles The next move is written. That is the difference between a login and a system.

What first from Jacksonville?

Events you need actually fire

Why not just buy another Shopify + Klaviyo feature?

Because the login already exists. The integration is 'on'. Viewed Product never fires. A new feature on a missing spec is a second database. Finish this edge first: Test Placed Order → one profile, correct revenue, correct items; no duplicate profiles.

Why start with objects instead of a workflow?

Day one: the integration is 'on'. The data model is not. List events you need. Verify Placed Order. Hunt duplicates. Do not build welcome until the metric is trustworthy. Onsite tracking is a test, not a checkbox. Workflows on unnamed objects fire on folklore. Name contact (or profile), stage or state, and the writer (form, calendar, metric) before any on-switch.

What does “wired” actually mean?

A test conversion creates or updates one person, on the right stage or state, with the fields the next sequence will read. Place a $1 order. Find exactly one profile. Confirm the metric payload. Browse a product in a private window with the tracker; confirm Viewed Product. Search for your email: if two profiles exist, identity is the ticket — not a new flow. If you merge after the test, identity is wrong — fix that, do not add a dedupe automation.

Continue

Other problems in this city

Southeast
GoHighLevel

GoHighLevel setup

The CRM is open. The operating system is not.

Read ↗
GHL + Calendly

Calendly and GoHighLevel

Booked calls leak because the CRM never saw them.

Read ↗
GoHighLevel

Coaching funnel

Traffic hits a page. The journey after that is improvised.

Read ↗
GHL email

Nurture email system

Broadcasts exist. A sequence that earns the next conversation does not.

Read ↗
Growth systems

Fractional CMO 90-day sprint

Everyone is busy. Nobody owns the next 90 days.

Read ↗
Next

Talk through the system.

Email and WhatsApp stay open. A call is for installing the system.