Skip to content

Advanced affiliate support #8273

Description

@AndreiMaz

Currently we have quite basic affiliate functionality. Let's extend with the following features:

Affiliate settings page

Add a new affiliate settings page with the following settings

  1. A setting indicating whether customers will be able to able to apply for the affiliate account in public store (similar to vendors). Then such affiliate accounts should be approved (marked as active) in admin area, and a store owner should receive a affiliate sign-up email (a new message template).

Let's extend the existing [Affiliate] entity with new properties - int AssociatedCustomerId, CreatedOnUtc. The first one will indicate what customer has applied for the affiliate partner account in public store. A store owner will also be able to specify (choose) it in admin area if require

  1. Use default commission if not set on catalog (checkbox), It'll have the following nested settings
  • Use percentage (checkbox)
  • "Commission amount" or "Commission percentage"

So when enabled and if other commission is not specified on a product details page (see below), then these values will be used to calculate commission.

  1. "Holding (evaluation) period" (days after order completion). This setting will determine which orders are eligible for commission.

  2. Add a setting for the affiliate storage strategy with the values: "No overwrites", "Always overwrite", "Overwrite after order". So, the admin will decide whether to overwrite AffiliateId if the customer follows links from different affiliates.

Product details page

Allow a store owner to specify product wise commission (for 1 qty). A new "affiliate commission" tab:

  • Specify affiliate commission, checkbox ( disabled by default)
  • Use percentage (checkbox)
  • "Commission amount" or "Commission percentage" (based on the "Use percentage" checkbox)

Affiliate details page

Add a feature to notify the customer about the activation of the affiliate account.

Public store

If a customer account has some affiliate account associated (applied for it before in public store), then this customer will be have access to the new "Affiliates" tab on the customer info page. It'll indicate information such as:

  • Status: active or disabled
  • Total number of affiliated customers

He'll also be able to choose period for the report date for the following reports (one date period filter) for all reports:

  • Number of affiliated orders
  • Order total
  • Total commission (without sensitive information such as customer names)

We also need to display history or details about commissions already paid. Let's discuss a way how to store this information

Metadata

Metadata

Assignees

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions