skills/sales-epom/SKILL.md
Epom platform help — hosted ad server and white-label DSP for managing direct and programmatic advertising across web, mobile, and CTV with 40+ analytics metrics, auto-optimization, and REST API included on all plans. Use when setting up Epom Ad Server to monetize your website or newsletter with display ads, white-label DSP campaigns aren't delivering or spend is off target, Epom analytics reports don't match third-party tracking numbers, API calls to campaign or advertiser endpoints are failing with auth errors, ad targeting rules aren't applying correctly or geo-targeting is inaccurate, trying to decide between Epom and AdButler or Kevel for your ad server, or setting up the RTB module to sell inventory programmatically. Do NOT use for general newsletter monetization strategy (use /sales-newsletter) or newsletter sponsorship marketplace transactions (use /sales-paved or /sales-hecto).
npx skillsauth add sales-skills/sales sales-epomInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
If references/learnings.md exists, read it first for accumulated platform knowledge.
What are you trying to do?
Which product are you using?
Current setup (if applicable): monthly impressions, current ad server, direct vs programmatic split
Skip-ahead rule: if the user's prompt already contains enough context, skip to Step 2.
| If the question is about... | Route to... |
|---|---|
| Newsletter monetization strategy (subscriptions, pricing models) | /sales-newsletter [question] |
| Sponsorship marketplace (finding sponsors) | /sales-paved [question] or /sales-hecto [question] |
| Sponsor intelligence (brands that sponsor newsletters) | /sales-sponsorgap [question] |
| Building a custom ad platform from scratch (API-first) | /sales-kevel [question] |
| Email deliverability (SPF/DKIM/DMARC) | /sales-deliverability [question] |
| Managed ad server with self-serve portal and MCP | /sales-adbutler [question] |
If the question is Epom-specific, continue to Step 3.
Read references/platform-guide.md for the full platform reference — capabilities, pricing, data model, integration recipes, code examples.
Read references/epom-api-reference.md for API endpoint details, authentication, and working examples.
Answer the user's question using only the relevant section. Don't dump the full reference.
Focus on the user's specific situation:
If you discover a gotcha, workaround, or tip not covered in references/learnings.md, append it there.
Best-effort from research — review these, especially items about plan-gated features and integration gotchas that may be outdated.
username, hash (HMAC signature), and timestamp in request parameters. Not a simple API key — see the API reference for the signing pattern./sales-newsletter — Newsletter monetization strategy (paid subscriptions, sponsorships, ad sales, pricing)/sales-adbutler — AdButler full-stack ad server (managed dashboard, self-serve portal, email ad zones, REST API + MCP)/sales-kevel — Kevel API-first ad server infrastructure (build custom ad platforms, Decision API)/sales-admailr — Admailr programmatic email ad server (automated ad insertion, CPM+CPC, no setup)/sales-passendo — Passendo email ad server + SSP (programmatic exchange, direct-sold campaigns)/sales-postapex — PostApex newsletter ad network (500+ publishers, CPC, free for publishers)/sales-buysellads — BuySellAds contextual advertising marketplace (managed ad sales, Carbon Ads)/sales-deliverability — Email deliverability strategy (SPF, DKIM, DMARC, warmup)/sales-do — Not sure which skill to use? The router matches any sales objective to the right skill. Install: npx skills add sales-skills/sales --skill sales-doUser says: "I run a niche tech blog with 2M monthly pageviews. How do I set up Epom to serve display ads?" Skill does: Walks through creating a publisher account, setting up zones for different ad placements (header, sidebar, in-content), creating advertisers and campaigns with CPM pricing, configuring geo and device targeting, and enabling the RTB module for programmatic backfill Result: User has Epom ad server running with direct-sold campaigns and programmatic demand
User says: "How do I pull campaign analytics from Epom's API into my custom dashboard?" Skill does: Shows the Analytics API endpoint with HMAC auth, required parameters (date range, metrics, filters), response format with 40+ metrics, and a working cURL + Python example Result: User has working API scripts to pull ad performance data programmatically
User says: "Should I use Epom, AdButler, or Kevel for my ad network? I have 10M monthly impressions." Skill does: Compares all three: Epom ($224/mo for 10M, API+RTB+white-label included, 40+ metrics), AdButler ($682/mo for 10M, API is paid add-on, self-serve portal), Kevel (custom pricing, API-only, requires engineering). Notes Epom includes features that competitors charge extra for. Result: User has a clear comparison with pricing and feature trade-offs for their scale
Symptom: Admin console feels overwhelming with too many features and menus Cause: Epom has 800+ customizable features designed for ad networks — most publishers don't need all of them Solution: Contact Epom support (included on all plans, <24hr reply) for a guided setup session. Focus on: Advertisers > Campaigns > Banners > Zones. Ignore the DSP, RTB, and advanced targeting modules until you need them.
Symptom: API calls return 401 Unauthorized or 403 Forbidden
Cause: HMAC signature computed incorrectly, timestamp drift, or insufficient permissions
Solution: Verify your hash computation: hash = HMAC-SHA256(timestamp, password). Ensure the timestamp is current (within 5 minutes). Check that your account role has API access permissions. Test with the simplest GET endpoint first (e.g., Get all Advertisers).
Symptom: Epom reports different impression/click counts than Google Analytics or your ESP Cause: Different counting methodologies — Epom counts server-side ad requests, GA counts page loads, ESPs count email opens Solution: Use Epom's pixel tracking for conversion attribution. For email ads, note that cached images don't re-trigger impressions. Compare click counts (more reliable than impressions) across platforms. Use the Analytics API to export raw data for reconciliation.
tools
Waitlister platform help — pre-launch waitlist platform with hosted landing pages, points-based viral referrals, built-in email broadcasts, REST API, and five HMAC-signed webhook events. Use when choosing Free (100 subscribers) vs Launch $15/mo (unlimited subs, referrals + broadcasts) vs Growth $49/mo (API, webhooks, Klaviyo/Mailchimp/Kit sync, fraud detection unlock here) vs Business $129/mo, building a webhook handler that verifies X-Webhook-Signature, webhooks auto-disabled after 10 consecutive failures, API signups bypassing referral fraud detection because client_ip/fingerprint weren't forwarded, granting bonus points or pulling top referrers via the API for reward fulfillment, broadcast send caps forcing an ESP handoff, automating without Zapier (Waitlister has none — webhooks/API only), or comparing Waitlister vs LaunchList/KickoffLabs/GetWaitlist/Prefinery. Do NOT use for list-growth strategy (use /sales-audience-growth) or LaunchList help (use /sales-launchlist).
development
LaunchList platform help — viral pre-launch waitlist platform with one-time lifetime pricing, gamified referrals (queue jumping, leaderboard, position inflation), embed widget + custom form POST endpoint, new_user/email_verify webhooks, Zapier, and spam protection. Use when choosing Free (100 submissions) vs Launch $29 (500) vs Grow $79 one-time (10K — webhooks, Zapier, team unlock here), wiring waitlist signups into Mailchimp/Kit/HubSpot or a CRM because LaunchList has no email broadcast system, needing programmatic access when there is no public REST API yet (form POST + webhook workaround), building a webhook handler with referred_by referral attribution, blocking disposable-email or bot signups on a viral waitlist, a custom signup form not submitting or not tracking referrals, or comparing LaunchList vs KickoffLabs/Viral Loops/Prefinery/GetWaitlist on one-time vs subscription pricing. Do NOT use for list-growth strategy (use /sales-audience-growth) or KickoffLabs help (use /sales-kickofflabs).
development
UpViral platform help — viral referral marketing and list-building platform (by Emarky) for viral sweepstakes, giveaway/reward campaigns, pre-launch waiting lists, and milestone referrals, with REST API (`app.upviral.com/api/v1/`, form-encoded `uvapikey` + `uvmethod`), Callback-URL webhooks, IP-based fraud detection, and 30+ ESP/CRM integrations. Use when campaigns aren't tracking referral points, deciding between Starter $79/mo (10K leads, NO API) vs Business $119/mo (API + webhooks) vs Premium $319/mo, the API erroring because you're on Starter where API/webhooks are gated, building a pipeline with `add_contact`/`get_leads`/`get_leads_points`, interpreting same-IP suspicious-referral flags, or picking UpViral over Viral Loops/Vyper/Gleam. Do NOT use for newsletter audience growth (use /sales-audience-growth), KickoffLabs help (use /sales-kickofflabs), merge-tag referrals (use /sales-referralkit), SparkLoop recommendations (use /sales-sparkloop), or multi-level Level 1/2/3 tracking (use /sales-referralhero).
tools
ReferralHero platform help — full-stack referral, affiliate, waitlist, contest, and NPS platform with REST API, webhooks, Zapier, native ESP connectors, multi-level referral tracking (Level 1/2/3), coupon groups, anti-fraud, and a 5,000 calls/hour limit. Use when referrals aren't tracking, deciding between Free (no API) vs PRO $199/mo (API + webhooks) vs PREMIUM $399/mo (ReCaptcha + SMS Verification), auth failing with `no_token` or `Bearer` vs `X-API-Key`, Level 2/3 counts off from calling `level_2_all_referrals` not `level_2_referrals`, bulk 429s from not chunking the 500-transaction `add_bulk_transactions` limit, coupon endpoints 404 without a coupon group, reward fulfillment (`promote` then `unlock_promoted_reward`) failing, or comparing to SparkLoop/ReferralKit/GrowSurf. Do NOT use for newsletter audience growth (use /sales-audience-growth), merge-tag referrals (use /sales-referralkit), SparkLoop recommendations (use /sales-sparkloop), or affiliate strategy across tools (use /sales-affiliate-program).