Latest 1.1.8
License Apache License, Version 2.0
Platforms ios 8.0

Kitemetrics iOS Client SDK

The Kitemetrics iOS Client SDK automatically logs Apple Search Ads keyword attributions, installs, and user sessions. In addition, you can log sign up and other custom events. Reports are available from



  • iOS 8.0+
  • Xcode 9.0+
  • Objective-C or Swift 4.0+



CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

$ gem install cocoapods

CocoaPods 1.1.0+ is required to build Kitemetrics

To integrate Kitemetrics into your Xcode project using CocoaPods, specify it in your Podfile:

platform :ios, '8.0'

target '<Your Target Name>' do
    pod 'Kitemetrics'

Then, run the following command:

$ pod install


If you do not want to use the CocoaPods dependency manager, you can integrate Kitemetrics into your project manually by copy/pasting the files into your project or by adding as a git submodule.


Initialize the session in AppDelegate

Swift 4.0
import Kitemetrics

class AppDelegate: UIResponder, UIApplicationDelegate {

  func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
      Kitemetrics.shared.initSession(apiKey: "API_KEY")
      return true
@import Kitemetrics;

@interface AppDelegate ()


@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [[Kitemetrics shared] initSessionWithApiKey:@"API_KEY"];
    return YES;

Log Purchase Events

Swift 4.0
    Kitemetrics.shared.logInAppPurchase(skProduct, quantity: 1)
    //It is recommended to include the purchaseType if known
    Kitemetrics.shared.logInAppPurchase(skProduct, quantity: 1, purchaseType: KFPurchaseType.appleInAppNonConsumable)

    //If the SKProduct is unavailable you can log a purchase directly as
    Kitemetrics.shared.logPurchase(productIdentifier: "productId", price: Decimal(0.99), currencyCode: "USD", quantity: 1, purchaseType: .eCommerce)
    [[Kitemetrics shared] logInAppPurchase:skProduct quantity:1];
    //It is recommended to include the purchaseType if known
    [[Kitemetrics shared] logInAppPurchase:skProduct quantity:1 purchaseType:KFPurchaseTypeAppleInAppNonConsumable];

    //If the SKProduct is unavailable you can log a purchase directly as
    NSDecimal price = [[[NSDecimalNumber alloc] initWithFloat:0.99f] decimalValue];
    [[Kitemetrics shared] logPurchaseWithProductIdentifier:@"productId" price:price currencyCode:@"USD" quantity:1 purchaseType:KFPurchaseTypeECommerce];

Full list of pre-defined and custom events are available at the full documentation.


To run the example project, clone the repo, and run pod install from the Example directory first.


Full documentation is available at


Kitemetrics uses the Advertising Identifier (IDFA). When submitting an app to Apple you should answer "Yes" to the Advertising Identifier question and check the box next to "Attribute an action taken within this app to a previously served advertisement".


The Kitemetrics iOS client SDK is available under the Apache License, Version 2.0. See the LICENSE file for more info.

Latest podspec

    "name": "Kitemetrics",
    "version": "1.1.8",
    "summary": "iOS App Analytics, Apple Search Ads Attribution, and Reporting.",
    "description": "Kitemetrics provides keyword level attribution for Apple Search Ads. It associates each attribution to an In-App Purchase. The Kitemetrics web service calculates the Average Revenue per User.",
    "homepage": "",
    "license": {
        "type": "Apache License, Version 2.0",
        "file": "LICENSE"
    "authors": {
        "Kitefaster, LLC": ""
    "source": {
        "git": "",
        "tag": "1.1.8"
    "social_media_url": "",
    "platforms": {
        "ios": "8.0"
    "source_files": "Kitemetrics/Classes/**/*",
    "weak_frameworks": "iAd"

Pin It on Pinterest

Share This