Beginner75 minutesStep 19

Apps and Sales Channels: Review Permissions Before Install and Cleanup After Removal

Create app approval, permission, and cost records, audit sales-channel product availability and data sharing, and handle uninstall cleanup for code, webhooks, pixels, and custom apps.

19
Current Lesson
19/20 lessons

Published

Updated

Last reviewed

Review scope Reviewed against Shopify, Google Search, ads, analytics, and ecommerce operating workflows.

Lesson Progress
Progress
19/20 lessons
Current lesson unlockedContinue in sequence

Phase 4 · Markets and data

Apps and Sales Channels: Review Permissions Before Install and Cleanup After Removal

Create app approval, permission, and cost records, audit sales-channel product availability and data sharing, and handle uninstall cleanup for code, webhooks, pixels, and custom apps.

What counts as complete in this lesson

Use Settings > Apps and sales channels to reach the correct page, then configure, save, verify, and record the result. Completion means you can point to the saved state, verification result, and condition that allows the next step—not merely that you opened the page.

Admin path
Settings > Apps and sales channels
Lesson output
An app and channel register with owner, purpose, permissions, data, cost, trial end, products, pixels, webhooks, privacy impact, uninstall steps, and last review date.
Continue when
Every retained item has an owner and job, permissions and cost are explainable, product/event paths are tested, and removed items have residue checks.
Stop when
An app has no defined job, asks for excess access, has an ownerless trial, or has unchecked uninstall residue.

Evidence boundary: A saved admin state is not the same as a verified storefront, order path, or downstream result. Check the current store, page title, complete target section/card, and returned result at every step.

Why this lesson comes now

Apps add capability quickly but can also access products, customers, orders, themes, and payment-related data. Uninstalling does not guarantee that theme code, pixels, webhooks, or external data disappear immediately. New custom apps use the current Dev Dashboard path; every app needs a business job, permission boundary, and exit plan.

Prepare before opening the admin

  • Complete Billing, Users, Customer privacy, and Customer events foundations.
  • List installed apps, channels, theme app embeds, and external accounts.
  • Define launch-required capabilities and place the rest in a backlog.
Shopify admin Apps and sales channels area used to check app, permission, product-channel, and custom-app boundaries.
Settings → Apps → installed apps and app-store entryConfirm the page title, target section/card, and saved result before deciding whether the app or channel has a clear business boundary. This figure does not prove that theme code, pixels, webhooks, or external data were removed after uninstall.

Make the approval record auditable: A grounded-theory single-case study of SAP's shift from an on-premises ERP product-platform ecosystem to a cloud innovation-platform ecosystem traces the 2012-2019 transformation; interviews ran from early 2016 through mid-2019. The formal article was published in 2022, while this page-level review uses the public 2019 author-version PDF. It identifies governance challenges in rebalancing top-down control with bottom-up emergence, re-professionalizing ecosystem participants, and redefining the ecosystem's organizational vision (see the paper). It is one enterprise-software case: it does not transfer across industries and does not prove generic ecommerce outcomes, current Shopify outcomes, merchant outcomes, revenue, conversion, or causality; it also does not prove current Shopify permission, channel, pixel, or webhook behavior. Use it here only as a governance prompt: in addition to purpose, permissions, cost, and exit conditions, record input ownership, approver, rollback method, and which decisions must remain human controlled. Current-store readback remains a separate check: verify the current store's permissions, product publication, pixels, and webhooks with this lesson's Shopify admin and storefront/event checks.

Follow the English admin step by step

After each step, refresh the admin or verify the storefront. A saved state in admin does not automatically prove the customer-facing result.

1

Create a pre-install approval card

For every app, record the problem, current alternative, success metric, cost, data types, permissions, owner, trial end, and uninstall condition. Do not install an app without a defined job.

Expected result: Have one approval card for this app, not only an open install page or a plan to review it later.

Completion standard: The actual store’s approval card contains the real job, cost, owner, and exit condition and can be reviewed in the record.

If the result is missing or wrong: If the entry, fields, or save response are wrong, confirm the current store and page title, then return through Settings > Apps and sales channels and recheck access, plan, market, and required fields.

Evidence to keep: Record the actual value, verification time, owner, and evidence location. An app list, permission page, or Uninstalled state does not prove that theme code, pixels, webhooks, and external data are gone.

2

Read permissions and data access

Review installation permissions field by field, especially Customers, Orders, Products, Themes, Marketing, and store settings. When access exceeds the job, ask the developer or choose an alternative.

Expected result: You can explain why each permission is needed and which data surface it reads or changes.

Completion standard: The real permission scope matches the business job, with at least one saved value, page result, storefront behavior, or record as evidence.

If the result is missing or wrong: Do not edit a similarly named page. Return to the complete section/card and recheck account access, plan or market availability, required fields, and the save response.

Evidence to keep: Put permissions, job, owner, and last review date in the register. A permission page proves configuration only; it does not prove the app kept no external data.

Failure handling: If a product is missing from a channel, check channel connection, Markets, Catalog, product availability, policy review, and feed errors instead of repeatedly publishing.

3

Configure sales channels and product availability

Open Settings > Apps and sales channels and review active channels such as Online Store, Shop, Google, and Meta. Verify account connection, data sharing, market, and product publication; Active in Shopify does not mean available everywhere.

Expected result: Each channel actually in use has its own product-availability and data-sharing result.

Completion standard: Channel connection, market, catalog, and product publication were read back separately with reviewable evidence.

If the result is missing or wrong: If the state looks correct but the storefront or channel preview is wrong, confirm the page title and current store, then check sync timing, market scope, and policy review.

Evidence to keep: Record channel, product, market, returned result, and readback time; “Active” describes only the Shopify-side state.

4

Inspect app embeds, pixels, and webhooks

After installation, inspect Theme App embeds, Customer events, notifications, and external platform behavior. Record scripts, pixels, webhooks, or order tags, then test performance, consent, and duplicate events before launch.

Expected result: You know which storefront, event, and external-data paths the app affects, not merely that it is installed.

Completion standard: App embeds, pixels, webhooks, performance, consent, and duplicate events each have a check result and owner.

If the result is missing or wrong: If a storefront widget remains after uninstall, inspect Theme App embeds, sections, snippets, script tags, and cache, and validate cleanup on a theme copy.

Evidence to keep: Keep storefront, Customer events, webhook, or external-platform readback together; an admin “saved” state is not proof that an event succeeded.

Failure handling: If a widget or event survives uninstall, pause expansion and complete a residue checklist and theme-copy validation first.

5

Handle custom apps correctly

For new integrations in 2026, create custom apps through Shopify’s current Dev Dashboard rather than old Develop apps instructions. Record scopes, tokens, rotation, and owner, and never expose a token in storefront code.

Expected result: The register explains the custom app’s scopes, token rotation, owner, and storage location.

Completion standard: The creation path matches the current admin, tokens are not in the storefront, and rotation and revocation ownership are clear.

If the result is missing or wrong: If the old Develop apps entry is missing, do not keep searching for a legacy path. Return to Dev Dashboard and recheck scopes and owner.

Evidence to keep: Record only the app name, scopes, owner, rotation date, and revocation condition; never record a secret.

6

Complete post-uninstall cleanup and evidence

Export required data and record billing and dependencies before removal. After uninstall, check theme code, app embeds, pixels, webhooks, API tokens, DNS, pages, menus, and external accounts. Confirm charges stop, handle retention or deletion, and close the ticket only after that.

Expected result: Leave a reviewable exit chain: export, uninstall, residue check, charge confirmation, data handling, and closure condition.

Completion standard: An Uninstalled app-list state is only one step; theme, events, external data, charges, and access each have their own result.

If the result is missing or wrong: If any residue or billing state is unclear, do not mark the task complete. Return to that surface, assign an owner, and set the next review date.

Evidence to keep: An app list, permission page, or Uninstalled state does not prove that theme code, pixels, webhooks, and externally stored data are removed.

Failure handling: If the old Develop apps entry is missing, use Shopify Dev Dashboard for new custom apps and record the current path again.

Shopify admin App install permissions area used to review data access scope field by field.
Settings → Apps → App development → app access overviewCompare each installation permission with the app’s business job. Pause when access exceeds the job instead of treating the default approval as a decision.

Apply the decision in your store

The steps above explain the mechanism and admin path. Now use one concrete situation to check the decision rather than only remembering the page: an old app shows Uninstalled, but its theme app embed remains and Customer events still contains its pixel. Can you close the task?

Do not treat disappearance from the app list as completion; cleanup must be verified across theme, pixel, webhook, access, and external data.

Use the admin path above, then apply it to one concrete situation.

Use this lesson in your store

By the end, you should have: An app and channel register with owner, purpose, permissions, data, cost, trial end, published products, pixels, webhooks, privacy impact, uninstall steps, and last review date.

Relevant admin path: Settings > Apps and sales channels

An old app shows Uninstalled, but its app embed remains in the theme and its pixel remains in Customer events. Is cleanup complete?

Make the decision before reading the reason

Choose the action that solves the problem first, then read the explanation.

Confirm these items in your store

Check each item against the current store; this checklist does not save settings or run tests.

This screen still cannot tell you: An app list, permission page, or Uninstalled state does not prove theme code, pixels, webhooks, and externally stored data are removed

Continue when: every retained item has an owner/job, permissions and cost are explainable, product/event paths are tested, and removed items have residual checks

Stop when: If an app has no job, asks for excess access, has an ownerless trial, or removal residue is unchecked, do not expand

Next: The final lesson uses test orders and launch QA to connect the previous 19 lessons into a reversible release path.

Complete the decision or checks first. When information is missing, a pause is safer than guessing a pass.

Shopify admin Product Sales channels and apps area used to verify that products are actually published to used channels.
Products → product detail → Publishing and Sales channelsA product being Active in Shopify does not mean it passed every channel’s connection, market, catalog, and policy checks. Read back each channel separately.

Decisions to make in this lesson

Enter the actual values for this store row by row. Do not treat examples or planned values as completed work. Mark a row passed only when the actual value meets the condition and has saved or tested evidence.

Decisions to make in this lesson
DecisionRecommended settingWhy
Install conditionDefined job and metricPotential usefulness is not enough
PermissionsMinimum necessaryReduces customer and order-data exposure
Sales channelsAccept individuallyProduct status does not guarantee channel publication
Custom appDev DashboardMatches the current creation path

Review every row after filling it in. Missing permission, result, or ownership means return to the relevant step before continuing.

Shopify Dev Dashboard custom-app area used to check the current creation path and token-protection boundary.
Settings → Apps → App development → Dev DashboardCreate new custom apps through the current Dev Dashboard path. Record scopes, token rotation, and owner; never expose a token in storefront code.

Do not change these blindly

  • Do not one-click every recommended app.
  • Do not assume uninstall removes all code and external data.
  • Do not follow old instructions to create a legacy custom app.

FAQ

Is cleanup complete when billing stops after uninstall?

No. Billing is only the cost boundary; also check theme code, app embeds, pixels, webhooks, API tokens, and external data.

Does Active in Shopify mean every channel can sell the product?

No. Account connection, market, catalog, policy review, and channel publication need separate readback.

What if the old Develop apps entry is missing?

Do not keep searching for the legacy path; use Dev Dashboard and record scopes, rotation, and owner.

Conclusion and continue line

Apps and channels are controlled assets with a business rationale, least privilege, cost boundaries, and verified exit work. Continue only when every retained item has an owner and job, permissions and cost are explainable, product/event paths are tested, and removed items have residue checks.

  • Every app and channel has owner, job, cost, and permission records.
  • Product availability is checked in every used channel.
  • App embeds, pixels, webhooks, and performance are reviewed.
  • Custom apps use the current Dev Dashboard path with protected tokens.
  • Uninstall cleanup covers code, charges, data, and external accounts.

Course FAQ

This is the lesson’s single FAQ section

Why review permissions before installing an app?

An app can read or change customers, orders, products, themes, and settings. Access should match the business job; excess scope increases security, privacy, and operational risk.

What should happen after uninstalling an app?

Check billing, theme code, app embeds, pixels, webhooks, tokens, external accounts, retention, and pages or menus. Removal is complete only when these are resolved.

Where are Shopify custom apps created in 2026?

Shopify no longer creates new legacy custom apps. New custom apps use the Dev Dashboard with current scope, credential, and deployment workflows.

Lesson HowTo steps

Complete this lesson step by step

  1. 1

    Create a pre-install approval card

    For every app, record problem, current alternative, success metric, cost, data types, permissions, owner, trial end, and uninstall condition. Do not install without a defined job.

  2. 2

    Read permissions and data access

    Review installation permissions, especially Customers, Orders, Products, Themes, Marketing, and store settings. When access exceeds the task, ask the developer or choose an alternative.

  3. 3

    Configure sales channels and product availability

    Open Settings > Apps and sales channels and review active channels such as Online Store, Shop, Google, or Meta. Verify account connection, data sharing, market, and product publication; Active in Shopify does not mean available everywhere.

  4. 4

    Inspect app embeds, pixels, and webhooks

    After installation, inspect Theme App embeds, Customer events, notifications, and external platform behavior. Record scripts, pixels, webhooks, or order tags and test performance, consent, and duplicate events.

  5. 5

    Handle custom apps correctly

    For new integrations in 2026, create custom apps through Shopify's current Dev Dashboard rather than following legacy Develop apps tutorials. Record scopes, tokens, rotation, and owner, and never expose tokens to storefront code.

  6. 6

    Complete post-uninstall cleanup and evidence

    Export required data and record billing and dependencies before removal. After uninstall, check theme code, app embeds, pixels, webhooks, API tokens, DNS, pages, menus, and external accounts. Confirm charges stop and handle retention or deletion before closure.

Back to Course Outline
20
View All Tutorials

Share this lesson with your reviewer

Share it with the copyable lesson notes so everyone reviews the same evidence, decision line, and next action.