Home
Blog
Authors
Dan Burcaw

Dan Burcaw is Co-Founder & CEO of Nami ML. He built a top mobile app development agency responsible for some of the most elite apps on the App Store and then found himself inside the mobile marketing industry after selling his last company to Oracle.

Latest articles by
Dan Burcaw
Written by
Dan Burcaw
10 Nov

Resolving Error ITMS-90161 on Apple App Store

Error ITMS-90161, also known as Invalid Provisioning Profile, is a common issue that arises during app submission to the Apple App Store. This error typically indicates that the provisioning profile associated with the app binary is incorrect, outdated, or improperly configured. Correcting this error is essential to ensure smooth submission and compliance with Apple’s requirements.

What Causes Error ITMS-90161?

Error ITMS-90161 occurs when the provisioning profile associated with the app does not match Apple’s requirements or is no longer valid. This could be due to an expired profile, a mismatched bundle identifier, or a configuration error in Xcode’s signing settings. Familiarity with Apple’s requirements for provisioning profiles can help developers prevent this error.

Common Scenarios for Error ITMS-90161 - Invalid Provisioning Profile

Developers frequently encounter this error in the following situations:

  1. Expired or Invalid Provisioning Profile: Submitting an app with an outdated profile can lead to an Invalid Provisioning Profile error.
  2. Mismatched Bundle Identifier: If the bundle identifier in the provisioning profile doesn’t match the app’s identifier, this error will occur.
  3. Incorrectly Configured Code Signing Settings in Xcode: Misconfiguration in Xcode’s signing and provisioning settings can trigger this error.
  4. Revoked or Incompatible Distribution Certificate: If the certificate linked to the provisioning profile has been revoked or doesn’t match, the profile becomes invalid.

Step-by-Step Solutions for Error ITMS-90161

Solution 1: Check the Expiration and Validity of Provisioning Profiles

  • Purpose: Ensures that the provisioning profile is active and valid for the app’s target platform.
  • Steps:
  1. Log in to Apple Developer Portal and navigate to Certificates, Identifiers & Profiles.
  2. Under Profiles, verify that the profile is valid and not expired.
  3. Renew the profile if it has expired, then re-download and install it in Xcode.
  • Result: Using a valid profile prevents issues caused by expired or outdated configurations.

Solution 2: Confirm the Bundle Identifier in Xcode Matches the Provisioning Profile

  • Purpose: Ensures that the app’s bundle identifier matches the provisioning profile.
  • Steps:
  1. In Xcode, navigate to General > Identity > Bundle Identifier.
  2. Confirm that this identifier matches the one configured in the provisioning profile.
  3. Update the bundle identifier in Xcode or the profile as needed.
  • Result: Matching identifiers eliminate conflicts that lead to Invalid Provisioning Profile errors.

Solution 3: Verify Code Signing Settings in Xcode

  • Purpose: Ensures the app is properly signed with a valid distribution certificate.
  • Steps:
  1. In Xcode, go to Signing & Capabilities.
  2. Select the correct team and verify the provisioning profile settings.
  3. Ensure the Code Signing Identity is set to the appropriate distribution certificate.
  • Result: Correct code signing configuration prevents conflicts with the provisioning profile.

Solution 4: Generate a New Provisioning Profile Linked to the Correct Certificate

  • Purpose: Avoids issues with outdated or revoked profiles by creating a new profile.
  • Steps:
  1. In Apple Developer Portal, navigate to Profiles > Add Profile.
  2. Select the app’s bundle identifier and ensure the correct distribution certificate is selected.
  3. Generate the new profile, download it, and import it into Xcode.
  • Result: A new, correctly configured profile helps ensure compatibility with Apple’s requirements.

Solution 5: Remove Old Provisioning Profiles from Xcode and Reinstall

  • Purpose: Prevents conflicts from multiple versions of the same profile.
  • Steps:
  1. In Xcode, go to Preferences > Accounts and select the Apple ID.
  2. Under Manage Certificates, remove any old or expired profiles.
  3. Reinstall the newly created provisioning profile.
  • Result: Removing outdated profiles prevents conflicts and helps streamline the submission process.

Conclusion

Error ITMS-90161 - Invalid Provisioning Profile, often results from outdated profiles, mismatched identifiers, or improper code signing settings. By checking profile validity, verifying bundle identifiers, configuring code signing, creating new profiles, and removing old ones, developers can resolve this error and ensure successful submission.

Nami’s low-code solutions can streamline app deployment, eliminating manual configuration issues and optimizing your workflow. Discover more at NamiML.

Written by
Dan Burcaw
10 Nov

Balancing Growth & User Experience in the App Economy

More than a decade since the launch of the App Store, the app economy is mature and thriving in many ways. However, it is still challenging to strike a balance between the app publisher’s business objectives and the end user experience.

More than a decade since the launch of the App Store, the app economy is mature and thriving in many ways. The smartphone + app combination has become an indispensable part of daily life for most of us.

However, much of the ecosystem fails to strike a proper balance between the app publisher’s business objectives and the end user experience. In fact, many of the strategies employed by app publishers are antithetical to delivering a great experience.

This series, understanding the impact of the app economy on end users, will explore current industry dynamics and suggest ways to foster a win-win relationship.

In Part 1, we’ll look at the current status quo and explore the focus of growth.

👉Read more: 7 Numbers Driving the Global Subscription Economy

The State of the App Economy

According to AppAnnie, fewer than 3,000 apps are making more than $1 million dollars a year via paid downloads, in-app purchases, or subscriptions.  

There are plenty of apps that are just not viable for a host of reasons regardless of monetization strategy - from poor design and build quality, to inadequate marketing and promotion, to functionality simply lacking an audience. Many of these apps end up published then abandoned after just a few releases.

There’s another cohort of apps that shows potential. Even without top rankings on the App Store, these apps often have experienced millions of downloads from interested users around the world. Yet, the AppAnnie data suggests, that despite impressive downloads, making real money remains elusive.

Investors to the Rescue

App downloads are a common traction signal used by early stage investors to evaluate companies for investment. It makes sense. If an app has shown it has an audience on the inventory rich App Store, there must be something to it, right?  

These apps have become attractive targets for investors.  One major language learning app raised $108 million dollars over five rounds of venture capital. The second most popular meditation app raised $75 million dollars. The most popular meditation app? $143 million dollars.  These are just a few examples. Spend a few minutes on Crunchbase and you will find many more.

A Growth Mindset

With cash to spend, these well-funded app publishers have one job: grow.

How is growth measured? While total downloads continues to be a measure, one of the most important key performance metrics is Monthly Active Users (MAUs). Rapidly growing MAUs can be game, set, match for many of these companies as they raise subsequent rounds of funding.

But it’s not just private companies using MAUs to measure growth. Public companies like Facebook, Twitter, and Snap have seen sharp stock market reactions to their quarterly reports due to surges or cliffs in active user counts.

👉Read more:Subscriptions Driving Consumer Spend

Engagement = Prevent Churn

So how do app publishers grow?  They have plenty of tools at their disposal including a whole ecosystem of mobile marketing products. At Nami, we’re intimately familiar with these from our experience building our prior company, Push IO, which became the mobile marketing engine for the Oracle Marketing Cloud.  

Mobile marketing tools tend to be very expensive. We regularly hear that the most popular tools charge publishers a minimum of $50,000 per year. For that kind of money, what do these tools do? If you scour the web sites of mobile marketing vendors you’ll see one word over and over: engagement.

Engagement is such a positive sounding term. If you’re an app publisher, of course you want your users to be engaged. However, engagement is coded language that really means “keep your users from abandoning your app at all costs.”

It’s not unusual to hear people in Silicon Valley talking about growth hacking - finding was to grow as fast as possible without spending all the money in the world. An implicit part of that mission is to prevent churn at all costs.

Until Next Time…

In Part 2, we’ll explore how app publishers increase downloads and which sets the stage for how the user experience is being harmed by growth.

Written by
Dan Burcaw
9 Nov

Subscription Marketing: Success Strategies for World Class Results

Five critical strategies to master subscription marketing including adapting your CRM, lifecycle marketing, paywall optimization, viral loops, and metrics beyond churn.

Subscriptions are projected to become a mind blowing $1.5 trillion market by 2025. From mobile apps to John Deere tractors, the future looks like it will be subscription-based. Subscription marketing is a frontier opportunity for marketers wanting to succeed with subscription products or services.

In this article, we will explore the five critical strategies that can equip you to become a world-class subscription marketer:

  1. Enhancing your CRM for subscriptions
  2. Adapting marketing automation to the subscription lifecycle
  3. Paywalls as your best low-hanging optimization opportunity
  4. Viral loops to help subscriber acquisition and subscribe retention
  5. Churn is a lagging indicator so you also need a leading indicator

Let’s dig into each of this.

subscription marketing on a tv set

Enhancing your CRM for Subscription Marketing

The relationship you have with your customers (and potential customers) requires special consideration in the subscription era.  For subscription products, the customer journey needs to be modeled around a customer’s interaction with and through the subscription lifecycle over time.

Actionable Subscriber Segments

At a high level, a subscription-based offering has four high level customer segments:

  • Never Subscribed: Prospects for trialing your subscription for the first time
  • Currently Trialing: Customers who may convert into paying subscribers
  • Active Paying Subscriber: Customers you need to work hard to retain
  • Former Subscribers: Former paying customers you can win back

Within each of these segments there are also sub-segments your subscription marketing efforts need to take into account. For instance, within Active Paid Subscribers there sub-segments. Each need to be marketed to very differently. Here are some examples:

  • Auto-renewing: Subscription is active, customer currently will renew at the end of the current billing period
  • Not auto-renewing: Subscription is active, but customer is not renewing at end of the current bill period
  • In grace period: Subscription is only still active due to a billing grace period. If the customer doesn’t current a billing issue they may involuntarily churn
  • Cancelled: Subscription is active, but customer has cancelled effective at the end of the current billing period

It’s also important to recognize that subscription segments are fluid. Customers can and will come and go from segments and sub-segments as their relationship with a subscription changes.

Adding Subscriber Context

Your CRM system needs to be enriched with subscription context so you know a customer’s status within the subscriber journey at the current moment in time.  You also need to know what their historical subscription journey is.

For instance, a customer may have been an Active Paid Subscriber for a dozen billing periods but is not currently paying. This customer is likely a high-potential win back opportunity versus a customer who was churned out quickly after one billing period.

To summarize, your CRM needs to be enriched for subscriptions in three key ways:

  1. Current subscription lifecycle status
  2. History of interactions through the subscription lifecycle
  3. Customer lifetime value (CLV)

Armed with this you can effectively execute a subscription marketing automation strategy built for the subscriber lifecycle.

Subscription Marketing Automation

Marketing automation is a key strategy for lead nurturing in B2B sales since the sales cycles are long. It’s also becoming more common in B2C marketing as brands go beyond simple e-commerce use cases to a more holistic view of customer interactions across channels.

Marketing automation is perfect for subscription-based products and services. Similar to lead scoring, subscription marketers can use the CRM enrichment combined with interaction data to score customers.

Subscription Lifecycle Scoring

For subscriptions, a few different scores are needed. However, which is useful for a given customer depends on their current subscription lifecycle status. For example:

  • A likelihood to start a trial score if the customer has never subscribed
  • A likelihood to convert to paid  score if the subscriber if currently trialing
  • A likelihood to renew score if customer is an active paying subscriber

These scores, along with a customer’s current subscriber lifecycle status and CLV can be used for marketing automation campaigns.

For example, if a customer has never subscribed and their likelihood to start a trial score is low, then consider a marketing automation series focused on educating the user about what they are missing out on.  This isn’t the moment for the hard sell. These users need to be nudged.

Similarly, if a customer is currently trialing but their likelihood to convert to paid score is low, then make sure they know how to get the most of their trial. They may not be aware of all the features and benefits they currently have access to.

Remember, subscriptions are a long game.  Customers may come and go. However, you always have a chance to bring them back into the fold.

Too many brands focus on jamming users through the acquisition funnel and into a trial start before the customer even truly know what the offering is about or whether they even want it.

This is especially true in with mobile apps due to the reliance on paid acquisition, high D1 and D7 churn rates, and the post-IDFA privacy landscape.

Subscription marketing automation can help you leverage your customer data to target the right message to the right user in the right subscriber journey state.

👉Read more: How to Optimize Your Subscription Apps

Paywall Optimization is your best low-hanging fruit

So much effort is spent on acquisition campaigns to fill the funnel, at rightly so. However, it can be incredibly difficult to optimize your paid acquisition efforts.

This is partially due to the incredibly complex advertising technology landscape. It’s also because of the changing regulatory environment around end user privacy.

Many subscription products view the paywall as piece of transaction technology wrapped in a utilitarian user interface.  A necessary screen that helps customers transact.

The paywall can be so much more.  In fact, the paywall should be your most important subscription marketing asset.

The Right Paywall Infrastructure

Believe it or not, the paywall is one of the least optimized elements in many subscription businesses.  This is because it’s often owned by the technical teams. Changes are infrequent and require a development cycle.  Improved are requested by, but not managed by marketing.

It turns out with the right infrastructure, paywall optimization is one of the best low-hanging fruit opportunities.  Conversion rate improvements of 2-5X are achievable through modest changes.

In order to optimize your paywall though, you need the right paywall infrastructure. The  right solution should be able to meet the following requirements:

  1. Create, deploy, and update paywalls using a paywall CMS
  2. Show the right paywall to the right user with paywall segmentation
  3. Run paywall A/B tests to improve conversion

In addition to the paywall, there is another experience you can deliver that will help drive down customer acquisition costs (CAC) and improve Retention. Let’s take a look.

Viral loops can help subscriber acquisition and subscribe retention

Customer acquisition is hard. In subscription businesses it can be even harder.  While subscriptions can offer customers the benefit of a low monthly price for a product or service, you’re asking customers to have an ongoing relationship with you.

As we’ve discussed, optimizing paid acquisition is one of the most challenges aspects for subscription marketers. Viral loops can be a game changer that help your acquisition and retention efforts.

Here are some examples of some subscription product viral loops:

  • A Currently Trialing customer gets time added to their trial by referring a friend who signs up. The trialing customer will likely become stickier, and you just acquired a new prospective customer at a much lower CAC.
  • A news app Active Paying Subscriber can share a paywalled article with a friend. The paying subscriber feels good about sharing, and could even earn additional shares or maybe branded merchandise. Meanwhile, a new prospective customer gets a taste of what life is like as a subscriber.
  • A Freemium User (e.g.  prospective customer) gets a certain quantity or time premium access if they get a friend to sign up. Dropbox famously executed this strategy giving both sides of the referrals 500MB of free storage.

A successful viral loop, like a dual-sided referral program can be an excellent way to create loyalty-building moments with potential customers and subscribers.

Meanwhile, the quality of audience acquired is higher and the CAC economics to support the program are completely within your control.

Churn is a lagging indicator so you also need leading indicators

Subscription marketing requires great measurement. Yes, you need to track core business metrics such as MRR and Churn.  These metrics are important.

Just remember, these metrics are lagging.  You don’t have MRR growth until more trialing customers convert from free-to-paid and/or you have less churn in your paying subscriber list.

To know where your subscription business is heading, you also need leading indicators. Here are just a few  examples of metrics you can measure over time to help you understand where things are headed now:

  • The free-to-paid conversion rate. Is it improving?
  • How % of users have auto-renew turned off?  Is this trending up?  
  • What is the mix of monthly vs. annual plans? Is the trend changing?
  • Are customer satisfaction surveys or app store reviews trending a different direction?

These are just come of the clues you can track to detect that change may be coming to your core subscription business metrics.

👉Read more: Driving Customer Retention and Revenue with Cohort Analysis

Subscription Marketing & Nami

Subscription marketing is a new specialization for marketers looking to drive marketing breakthroughs in the massive and growing subscription economy. With subscriptions on track to be a trillion dollar market in the next few years, it’s a great time to hone new strategies.

If you’re a mobile app publisher, Nami provides the premier solution for marketing your in-app subscriptions. We’re focused on delivering powerful tools to help you improve your app’s subscription marketing. Here’s just a few ways we help:

  • Our platform gives you the subscription data layer you need to enrich your CRM and other important marketing systems.
  • We also give you the right infrastructure to turn your paywalls into your most essential subscription marketing asset. This is made possible by a no-code paywall CMS and paywall A/B testing suite.
  • We’re providing innovative capabilities to help you align your advertising and subscription monetization efforts
  • Plus, we’re advancing your growth opportunities through subscription viral loops

 If you’re interested in learning more, reach out and we’d be happy to show you a demo.


       

       if(window.strchfSettings === undefined) window.strchfSettings = {};
   window.strchfSettings.stats = {url: "https://nami.storychief.io/en/subscription-marketing-success-strategies?id=352911196&type=26",title: "Subscription Marketing: Success Strategies for World Class Results",id: "51b60849-ff21-4408-b48f-9543da3cae59"};
           (function(d, s, id) {
     var js, sjs = d.getElementsByTagName(s)[0];
     if (d.getElementById(id)) {window.strchf.update(); return;}
     js = d.createElement(s); js.id = id;
     js.src = "https://d37oebn0w9ir6a.cloudfront.net/scripts/v0/strchf.js";
     js.async = true;
     sjs.parentNode.insertBefore(js, sjs);
   }(document, 'script', 'storychief-jssdk'))
   
   

Written by
Dan Burcaw
9 Nov

Subscription Builder Dan Burcaw

Nami co-founder & CEO Dan Burcaw joins School for Startups Radio to talk serial entrepreneurship and Nami ML's work to help app developers start and grow mobile subscription businesses.

Nami co-founder & CEO Dan Burcaw joins School for Startups Radio, hosted by Jim Beach, to talk serial entrepreneurship and Nami ML's work to help app developers start and grow mobile subscription businesses.

Subscription Builder Dan Burcaw is a serial entrepreneur who has founded four companies each on the forefront of a major technology wave: open source software, the smartphone, cloud computing, and now machine learning. His newest venture, Nami ML, focuses on helping app developers start and grow mobile subscription businesses.

Listen on Apple Podcasts or visit the episode page.

 👉Code Story with Dan Burcaw, Nami ML

Written by
Dan Burcaw
9 Nov

The Nami Vintage Industry Swag Photo Contest!

Nami ML is celebrating our favorite tech conference, WWDC20, with a vintage industry swag contest. Read more to enter and win!

Updated June 21, 2020 11:30am PT to use #VintageSwagNamiML hashtag.

Normally during WWDC, the Co-Founders of Nami ML, Dan and Joe, host a wild and crazy party (some of which from years past are still legendary like the one with the marching band at Mezzanine or the one atop Union Square at Harry Denton's Starlight Room in SF, or of course that first one where we ruined the Tempest), but this year it has to be something different…

So to celebrate our favorite tech conference of the year, we’ve decided to run a little contest!

The contest is pretty simple and easy to participate in, but of course there are official rules from our lawyers.

For the official rules, see: https://www.namiml.com/legal/photo-contest-rules

So what is it and how do you win?

We want to see your best “Vintage Swag” from the computer industry. Really it could be almost anything tech related.

Got old computer gear? Conference or Promotional Swag (t-shirts, mugs, stickers, trinkets)? Heck even old floppy discs?

Then you’re in!

We’re doing Daily Prizes every day of the conference (6/22/2020 to 6/26/2020) and then a “Grand Prize” at the end.

Three of the daily prizes (M-W-F) we’ll choose based on the originality and quality of the photos you post.

Two of the daily prizes (Tu-Thu) are based on who gets the most reaction (retweets, likes, replies).

Whoever gets the most reaction during the week will win the Grand Prize!

All you have to do are 4 things:

  1. Post a picture on Twitter of your classic gear/swag
  2. Use the hashtag #VintageSwagNamiML
  3. Follow our Twitter account @HelloNamiML
  4. Include your favorite #hashtag being used for the conference this week.

Daily winners will receive a US$100.00 Apple Gift Card to use to buy your favorite indie apps (or music, or anything else they can be used for).

The Grand Prize winner will receive a pair of Apple AirPods Pro (worth US$249).

So, start digging through your garage goldmine (find that one piece you’ve been holding onto for years for just such an occasion), put on your favorite old conference t-shirt, or any other vintage swag or gear you want to show off.

Sadly, we’re only allowed to let legal residents of the United States participate (thanks a lot, lawyers), but even if you can’t enter you can still show off!

Impress your friends, gain internet fame, and win prizes!

Have a great week at WWDC!

Sincerely,

All Your Friends at Nami ML

👉Why We Decided to Create Nami

Written by
Dan Burcaw
9 Nov

Smaller Size, Improved ML & Debugging

The latest Nami Apple SDK release is smaller in size plus includes improved ML data collection & debugging

We've updated our Apple SDK with a host of improvements including a smaller build size and improvements to ML data collect and debugging.

The full list of improvements include:

  • Simplified method and parameter names, see https://docs.namiml.com/reference.
  • Added support for disabling auto-raise limits for triggered paywalls.
  • Stability fixes for more reliable presentation of paywalls for auto-raise cases.
  • Improved frequency limiting of paywalls by hour.
  • Improved debugging output for understanding paywall auto-raise choices.
  • Improved environment detection so server reporting of transactions can be given testing transactions.
  • Added canRaisePaywall method to determine if the SDK has enough data to raise a paywall.
  • Improvements to tracking of paywall impressions and transactions.
  • Stability fixes around calls for Nami session.
  • Improved support for React Native Bridge
  • Added fetchCustomPaywallMetaForDeveloperID() call to get paywall definitions for alternate paywalls.
  • Made presentNamiPaywall() public so that developers could make use of the internal Nami paywall through a custom paywall meta definition.
  • Xcode 11 now used for primary framework builds, Xcode 10.3 frameworks in Xcode10-3 folder.
  • Added environment to cart signals sent to Nami, so testing purchases can be checked with Nami.
  • Fixed issue found with ML data collection.
  • Fix consumable product consumption in SDK, so that purchases are not remembered.
  • Compiled framework to optimize for smaller build size.

You can head on over to our Apple SDK repository on GitHub to grab the latest bits: https://github.com/namiml/nami-apple

***

As always, we welcome your questions, comments, or requests via email.

Thanks for using Nami!

👉Announcing Our New Documentation Portal