Enhanced Profiles & CTAs

⚠️

Documentation Disclaimer

This documentation is not exhaustive and does not guarantee system behavior. Integrators are responsible for testing against actual API responses. See Documentation Disclaimer for full details.

Enhanced Profiles & CTAs

Enhanced Profiles (EP) and Call to Action (CTA) are distinct products from CPC ads, but are commonly purchased alongside them. This page covers their behavior, lifecycle, and how to manage them via the Ads API.

Table of Contents


What is an Enhanced Profile?

An Enhanced Profile is a paid profile upgrade for a Yelp business listing. It includes:

  • Removal of competitor ads from the business page
  • Photo sequencing — control over the order of photos displayed
  • Call to Action — a clickable CTA button on the business page

EP features apply to all traffic — both organic and paid. They are not limited to ad-driven visits.


Creating an Enhanced Profile

EP is purchased via the same create endpoint as CPC, using program_name=EP:

curl \
  -X POST \
  --user "{username}:{password}" \
  https://partner-api.yelp.com/v1/reseller/program/create?business_id=<id>&program_name=EP

EP and CPC are created and managed as two independent programs — they are not formally bundled in the API. A business can have both active simultaneously; each has its own program_id.


EP Lifecycle & Billing

  • Once purchased, an EP runs until explicitly terminated via POST /{program_id}/end
  • There is no proration for Enhanced Profile products — no partial-month billing
  • EP does not follow calendar month or rolling month billing cycles — it is always-on until ended
  • Only one EP can be active per business at a time

Call to Action (CTA)

CTAs are a feature of the Enhanced Profile. They are configured separately via the Program Feature API and allow businesses to surface a specific action button on their Yelp page.

CTAs can be configured for mobile and desktop independently — they do not share a single setting.

CTA auto-removal: When the EP program is ended, CTAs are automatically removed by a nightly automated job. There is no need to delete CTAs separately.

CTA tracking in reporting:

  • CTA interactions track clicks on EP-configured CTAs
  • Request a Quote (RAQ) is not captured in CTA data — it appears in messages_to_the_business

Detecting Existing EP Status

The API does not expose an explicit {enhanced_profile: true/false} field. To determine if a business already has an active EP:

  1. Try to purchase EP — if it fails with CONFLICTS_WITH_ANOTHER_ACTIVE_PROGRAM or PROGRAM_ALREADY_RUNNING_BY_ANOTHER_PROVIDER, an EP already exists
  2. Check the Program List API — look for active programs under your payment account
  3. Look for a CTA — EP always includes CTA; the presence of an active CTA is a strong signal an EP is running

Note: Only programs created under your payment account credentials are visible. You cannot see programs purchased by other providers for the same business.


EP vs. CPC: Key Differences

Enhanced ProfileCPC
BillingAlways-on, no prorationMonthly, prorated
TargetingN/A — applies to all trafficCategory, location, scheduling
Features endpointSupports CTA, photo configSupports SCT, CLT, link tracking, etc.
Multiple activeNo (1 per business)Yes (multiple CPC programs can run simultaneously)
Ad deliveryNo — profile upgrade onlyYes — search and placement ads
Async jobYes — same job_id patternYes

Did this page help you?