Product Docs

Developer Hub

Build custom reward programs using Extole.

Everything your team needs to implement, customize, and scale referral and reward experiences across web, mobile, and backend systems.

Want to see the platform in action? Request a sandbox

integration examples

<script type="text/javascript" src="https://share.brand.com/core.js" fetchpriority="high" async></script>

<span id="extole_zone_global_header"></span>
<script type="text/javascript">
  /* Start Extole */
  (function(c,e,k,l,a){c[e]=c[e]||{};for(c[e].q=c[e].q||[];a<l.length;)k(l[a++],c[e])})(window,"extole",function(c,e){e[c]=e[c]||function(){e.q.push([c,arguments])}},["createZone"],0);
  /* End Extole */

  extole.createZone({
    name: "global_header",
    element_id: "extole_zone_global_header"
  });
</script>
import { Extole } from "@extole/react-native-sdk";

const extole = new Extole("share.brand.com", "your-app-name");

function ExtoleScreen({ navigation }) {
  const [extoleView, setExtoleView] =
    useState<JSX.Element | null>(null);

useEffect(() => {
  extole.configure(extoleView, setExtoleView, () => {
    navigation.navigate("Promo");
  });
  }, []);

  return <View style={{ flex: 1 }}>{extoleView}</View>;
}

<Stack.Screen name="Promo" component={ExtoleScreen} />
// From Extole iOS SDK docs (condensed)
import ExtoleMobileSDK

@main
struct ExtoleApp: App {
  @StateObject var extole =
    ExtoleImpl(programDomain: "share.brand.com")

  var body: some Scene {
    WindowGroup { NavigationView { extole.getView() } }
  }
}

// Identify + send events
extole.identify("email", ["partner_user_id": "123"], { _, _ in })
extole.sendEvent("purchase", ["order_id": "A1001"])
// From Extole Android SDK docs
implementation 'com.extole.mobile:android-sdk:1.0.+'

// Initialize once at app startup
Extole.init(
  context = context,
  appName = "your-app-name"
)

// AndroidManifest.xml
<meta-data
  android:name="com.extole.PROGRAM_DOMAIN"
  android:value="https://share.brand.com/" />

// Exchange identity + event data
extole.identify(email, mapOf("member_id" to "123"))
extole.sendEvent("purchase", mapOf("order_id" to "A1001"))