10xDotIn Product Docs

Campaign Console

Use the Product Suite Campaign Console to manage Marketing Campaigns, Site Campaigns, Email Campaigns, targeting rules, and performance rollups.

Campaign Console

Use the Campaign Console when you want one place to run a launch without mixing every campaign type into one list. Marketing Campaigns, Site Campaigns, Email Campaigns, and Automations stay separate so each workflow keeps the right setup, targeting, content, and stats.

Open Product Suite, choose a workspace handle, then go to Publish -> Campaigns. Direct route pattern:

https://app.10x.in/apps/publish/campaigns?handle={handle}

What You Can Manage

LaneUse it forWhere it appears
Marketing CampaignsUmbrella campaign, goal, tagged links, page handoff, health, and performance rollupMain campaign table and campaign detail panel
Site CampaignsOnsite lead capture, messaging, banners, popups, offers, custom HTML, custom JS, and custom eventsSite Campaigns panel
Email CampaignsBroadcast/promotional email sendsEmail Campaigns panel
AutomationsOTP, lead-captured follow-up, conversion follow-up, and coupon fulfillment rulesCampaign email rules page

Before You Start

You need:

  • A Product Suite user with operator or owner access to the handle.
  • A selected handle in Product Suite.
  • At least one Marketing Campaign if you want umbrella rollups and attachments.
  • For Email Campaigns, a verified sender profile and any reusable email templates you plan to use.
  • For Site Campaigns, the 10x public SDK installed on the page where the Site Campaign should appear.

Related setup guides:

  1. Create or choose the Marketing Campaign

    Use the Marketing Campaign as the umbrella for launch goals, tagged links, page handoff, and rollup reporting.

  2. Add Site Campaigns for onsite experiences

    Configure lead capture, banners, messaging, popups, custom HTML, or event tracking for the pages where visitors land.

  3. Add Email Campaigns for broadcasts

    Build the broadcast email, test it, attest recipient consent, and send it separately from automations.

  4. Attach related work to the Marketing Campaign

    Attach Site Campaigns, Email Campaigns, automations, links, pages, and ad mappings so the Marketing Campaign detail view can summarize performance.

  5. Review stats

    Use the detail panel and performance summary for traffic, lead, conversion, site, and email activity.

Marketing Campaigns

Marketing Campaigns are umbrella containers. They should describe the launch or acquisition effort, not store onsite HTML or email body content.

Use Marketing Campaigns to:

  • Track the goal and status of a launch.
  • See how many links are tagged with the campaign ID.
  • Open the campaign page editor.
  • Open campaign automation rules.
  • Review health checks and recent session state.
  • Aggregate attached Site Campaign and Email Campaign performance.

Common actions in the Marketing Campaign table:

ActionUse it for
DetailOpen the Campaign Console detail view for the selected campaign
PageOpen the campaign page handoff/editor route
RulesOpen automation rules such as OTP, follow-up, conversion, and coupon email rules

Site Campaigns

Use Site Campaigns for onsite experiences. Examples:

  • Lead capture block.
  • Offer banner.
  • Popup.
  • Inline message.
  • Coupon capture prompt.
  • Custom HTML widget.
  • Custom event tracking.

Create A Site Campaign

  1. In Campaign Console, scroll to Site Campaigns.
  2. Select New.
  3. Enter a stable Site campaign ID such as spring-lead-capture.
  4. Enter a Name.
  5. Choose the Type: LEAD_CAPTURE, MESSAGE, BANNER, POPUP, OFFER, or CUSTOM.
  6. Optionally set Marketing campaign ID to attach it to an umbrella Marketing Campaign.
  7. Choose placement.
  8. Paste Targeting JSON.
  9. Add Custom HTML, CSS, JavaScript, and Events JSON as needed.
  10. Select Save.
  11. Select Activate when the campaign is ready.

Site Campaign Placements

PlacementUse it whenRequired fields
HANDLE_WIDEThe campaign can appear across the handlenone
PAGE_SLUGThe campaign belongs to one published page slugpageSlug
PATH_PATTERNThe campaign belongs to a URL patternpathPattern, for example /pricing/*
CAMPAIGN_DETAIL_PAGEThe campaign belongs to a Marketing Campaign detail pagecampaignId, optional pageSlug

Example placement:

{
  "type": "CAMPAIGN_DETAIL_PAGE",
  "campaignId": "spring-launch",
  "pageSlug": "spring-launch"
}

Site Campaign Targeting JSON

Site Campaigns use simple rule groups:

{
  "match": "ALL",
  "rules": [
    { "field": "device", "operator": "in", "values": ["DESKTOP", "MOBILE"] },
    { "field": "source", "operator": "in", "values": ["google"] },
    { "field": "path", "operator": "matches", "values": ["/pricing/*"] }
  ]
}

Supported fields:

FieldOperatorNotes
countryinUses available request or URL context, for example country=IN
deviceinValues: MOBILE, TABLET, DESKTOP, BOT, UNKNOWN
sourceinMatches utm_source or source
campaigninMatches utm_campaign or campaign
segmentinRequires a visitor segment cookie or session segment snapshot
pathmatchesSupports exact paths and trailing * patterns
pageSluginMatches the current page slug

Use match: "ALL" when every rule must match. Use match: "ANY" when any rule can match.

Custom HTML, CSS, JavaScript, And Events

For CUSTOM Site Campaigns, the editor accepts:

  • Custom HTML for the onsite block.
  • CSS for styling that block.
  • JavaScript for runtime behavior.
  • Events JSON for click, form, visibility, scroll, dwell, or custom-dispatch events.

Example event:

[
  {
    "name": "offer_clicked",
    "selector": "[data-10x-event='offer_clicked']",
    "trigger": "click",
    "metadata": {
      "offer": "spring-launch"
    }
  }
]

Supported event triggers:

TriggerUse it for
visibleElement became visible
clickVisitor clicked a selector
form_submitVisitor submitted a form
dwell_msVisitor stayed for a dwell threshold
scroll_pctVisitor reached a scroll percentage
custom_dispatchYour custom script dispatches the event

Email Campaigns

Use Email Campaigns for broadcast email. Do not use this lane for OTP, coupon fulfillment, lead-capture follow-up, or conversion follow-up. Those remain Automations.

Create An Email Campaign

  1. In Campaign Console, scroll to Email Campaigns.
  2. Select New.
  3. Enter an Email campaign ID such as spring-broadcast.
  4. Enter a Name.
  5. Enter a ready Sender ID.
  6. Choose the Purpose: PRODUCT_NOTIFICATION or TRANSACTIONAL_API.
  7. Optionally enter a Marketing campaign ID to attach the broadcast to a Marketing Campaign.
  8. Choose Content mode.
  9. Paste Audience targeting JSON.
  10. Add template details or raw email HTML.
  11. Select Save.
  12. Select Preview.
  13. Send a test email.
  14. Check Consent attested for this audience.
  15. Select Send broadcast.

Audience Targeting JSON

The first release can store several audience fields, but broadcast send resolution is explicit-recipient first. Include emails rules for any campaign you intend to send now.

{
  "match": "ALL",
  "rules": [
    {
      "field": "emails",
      "operator": "in",
      "values": ["buyer@example.com", "lead@example.com"]
    }
  ],
  "exclusions": [
    {
      "field": "emails",
      "operator": "in",
      "values": ["do-not-email@example.com"]
    }
  ]
}

Supported stored fields:

FieldCurrent use
emailsUsed now for broadcast recipient expansion
segmentStored for future segment expansion
leadSourceStored for future lead-source expansion
campaignStored for future campaign-derived audiences
tagStored for future tag expansion
countryStored for future country expansion

Suppression lists are applied during send. Suppressed addresses are counted as excluded recipients.

Email Content Modes

ModeUse it whenRequired fields
RAW_HTMLYou want to paste email HTML directlysubject, email HTML, plain text fallback
TEMPLATEYou want to reuse a saved email templatetemplate ID, optional template version, variables JSON

Raw HTML example:

{
  "mode": "RAW_HTML",
  "subject": "Spring launch is live",
  "html": "<p>See the new offer.</p>",
  "text": "See the new offer.",
  "variables": {
    "firstName": "Asha"
  }
}

Template mode example:

{
  "mode": "TEMPLATE",
  "templateId": "tmpl_spring_launch",
  "templateVersion": 1,
  "variables": {
    "firstName": "Asha",
    "offerName": "Spring Launch"
  }
}

Preview, Test Send, And Broadcast Send

ControlWhat it does
PreviewRenders the subject, HTML, and text from current campaign content
Test sendSends one test email to the test recipient
Send broadcastResolves recipients, excludes suppressed recipients, snapshots the recipient list, and queues the send

By default, the system requires a test send before broadcast send. Operators can only send after they attest consent for the audience.

Automations

Use the Rules action on a Marketing Campaign for campaign-scoped automations:

  • Lead-captured email rules.
  • Delayed lead follow-up.
  • Conversion-triggered email.
  • OTP/lead verification setup.
  • Coupon fulfillment email workflow.

Automations are intentionally separate from Email Campaign broadcasts. This prevents a one-time broadcast from being confused with event-triggered lifecycle messaging.

Performance And Stats

The Campaign Console combines several reporting sources:

SourceWhat it contributes
Marketing Campaign rollupsVisits, qualified clicks, leads, conversions, revenue
Site Campaign statsViews, interactions, leads, conversions, revenue where available
Email Campaign messagesQueued messages, delivered messages, resolved recipients, excluded recipients
Email eventsDelivery, open, click, bounce, complaint, and other provider events where available
AttachmentsPer-channel summary for site, email, automation, ad, page, and link attachments

Stats are eventually consistent. A broadcast can show queued or sending state before downstream delivery events arrive.

API Reference For Power Users

Use Product Suite first. Use APIs when you need automation or bulk setup.

Site Campaigns

JobMethod and path
List Site CampaignsGET /v2/handles/{handle}/site-campaigns
Create Site CampaignPOST /v2/handles/{handle}/site-campaigns
Update Site CampaignPUT /v2/handles/{handle}/site-campaigns/{siteCampaignId}
Activate Site CampaignPOST /v2/handles/{handle}/site-campaigns/{siteCampaignId}/activate
Get Site Campaign statsGET /v2/handles/{handle}/site-campaigns/{siteCampaignId}/stats

Email Campaigns

JobMethod and path
List Email CampaignsGET /v2/handles/{handle}/email-campaigns
Create Email CampaignPOST /v2/handles/{handle}/email-campaigns
Update Email CampaignPUT /v2/handles/{handle}/email-campaigns/{emailCampaignId}
Preview Email CampaignPOST /v2/handles/{handle}/email-campaigns/{emailCampaignId}/preview
Test sendPOST /v2/handles/{handle}/email-campaigns/{emailCampaignId}/test-send
Send broadcastPOST /v2/handles/{handle}/email-campaigns/{emailCampaignId}/send
Get Email Campaign statsGET /v2/handles/{handle}/email-campaigns/{emailCampaignId}/stats

Marketing Campaign Attachments

JobMethod and path
List attachmentsGET /v2/handles/{handle}/campaigns/{campaignId}/attachments
Replace attachmentsPUT /v2/handles/{handle}/campaigns/{campaignId}/attachments
Get performance summaryGET /v2/handles/{handle}/campaigns/{campaignId}/performance-summary

Troubleshooting

ProblemCheck
Site Campaign does not appearConfirm status is active, placement matches the current page, the SDK is installed, and targeting JSON matches the visitor context
Site Campaign appears on the wrong pageTighten placement with PAGE_SLUG, PATH_PATTERN, or CAMPAIGN_DETAIL_PAGE
Targeting never matchesCheck field casing, match mode, URL parameters, device value, and segment cookie availability
Email Campaign cannot saveCheck campaign ID format, sender ID format, audience JSON, and content mode requirements
Test send failsConfirm sender profile is ready, email identity is ready, and the test recipient is valid
Broadcast send is blockedRun a test send first, then attest consent
Broadcast sends to zero recipientsInclude explicit emails values in audience targeting and check exclusions/suppressions
Stats look lowWait for downstream delivery and rollup events, then refresh

Updated Jun 19, 2026