FAQ
-
Is Composer 1X segmentation and functionality supported on Mobile Experiences using the Piano SDK?
-
Can both the Cxense and Composer JS coexist without there being any problem?
-
What is the number of concurrent and maximum requests/connections that will be initiated?
-
What is the frequency of the crawling, connections, or requests?
-
Are IF-MODIFIED-SINCE queries issued and do they conform to 304 Not Modified?
-
Do you respect and conform to robots.txt deny/allow entries?
Q: How many scripts do we need?
A: You only need one script. Once the script has been integrated into the element of your website, Piano will be activated on every subsequent page and subpage on your domain.
Q: What does the script do?
A: It calls all 3 Piano libraries and sends data to all Piano products that are configured for your account.
Q: What is content crawling
A: Content crawling is an automated continuous process of page content parsing and semantic analysis in order to create/update content profiles.
Q: How does the crawler work
A: Our bot visits a page and downloads its text content, then we parse it and identify key values according to the taxonomy, and then create/update the corresponding content profile. For new pages, this starts after 3 page views within 6 hours which often occurs within seconds of a new article being published. For known pages, the crawler makes another visit if a page was modified and contains specific meta tags.
Q: Are there any limitations to what can be crawled
A: If you have whitelisted the crawler, no. Otherwise, the crawler can’t access pages that are behind your paywall. If you are having issues with that, contact us and we can access the crawler logs.
Q: How many predefined segments does Composer1X ship with?
A: The predefined segment menu is split into 11 categories with a total of 87 segments.
Q: What License do I need to use Composer1X?
A: This table describes which licenses correspond to which features:
|
Composer 1X Features |
Required License |
|||
|---|---|---|---|---|
|
|
Composer |
Composer + Management + Billing |
Composer + Audience |
Composer+ Management + Billing + Audience |
|
Onsite Recommendations |
✔ |
✔ |
✔ |
✔ |
|
Interest Segments |
✔ |
✔ |
✔ |
✔ |
|
User Engagement Segments |
✔ |
✔ |
✔ |
✔ |
|
Subscription Journey Segments |
✔ (with data requirement*) |
✔ |
With implementation project |
✔ |
|
Likelihood to Subscribe Segments (LtS) |
With implementation project |
✔ |
With implementation project |
✔ |
|
Likelihood to Cancel Segments (LtC) |
✘ |
✔ |
With implementation project |
✔ |
|
Likelihood to Register Segments (LtREG) |
With implementation project |
✔ |
With implementation project |
✔ |
|
Likelihood to Return Segments (LtRTN) |
✔ |
✔ |
With implementation project |
✔ |
|
Content Likely to Convert (CLtC) |
With implementation project |
✔ |
With implementation project |
✔ |
|
Bespoke Segments |
✘ |
✘ |
✔ |
✔ |
*Segments will only be created if at least one user fits the criteria and are available also to clients using Linked Terms. No empty segments will be created, meaning clients who don’t meet certain conditions (e.g., no paid trial users) won’t see those segments until relevant data is available.
Please note that the functionality listed "With implementation project" requires the client to pay for those services. Please get in touch with your Account Manager for more details.
Q: Can I use LtS and LtC without a Management + Billing license?
A: Yes. Contact your Account manager. Using LtS or LtC without a Management + Billing license will require an extra scope of work and an implementation cost.
Q: What segments are supported for Management + Billing clients that are using custom terms.
A: Piano does not provide out-of-the-box subscription segments based on custom terms. You will still have access to the 29 machine learning-based User Interest segments, 5 User Frequency segments, and 5 User Recency segments as these are not dependent on Management + Billing data.
Q: What is the Composer 1X crawler
The Composer 1X crawler is a web crawler or a bot that reads all of the content on your website and indexes it to be used at another time. The Composer 1X automatically searches for new pages on your website to index them as quickly as possible, and periodically indexes your website to check for changes in existing pages.
The indexed content is used to power the segmentation engine. Without it, you won't be able to target specific pages, topics, dates or authors.
When implementing Composer 1X it is important to whitelist the crawler, because the crawler will not have permission to crawl pages that are behind a paywall. We recommend doing this because indexing every article builds stronger segments that allow you to create more robust experiences.
Q: Is Composer 1X segmentation and functionality supported on Mobile Experiences using the Piano SDK?
Yes, Mobile Experiences do support Composer 1X segmentation and functionality (e.g. recommendations).
Q: Are there any updates to consent-aware tags needed for legacy clients that are starting to use Composer 1X?
Yes, if you're a legacy (previous Cxense) client and are now taking part in the Composer 1X rollout, you would need to update your existing consent-aware tags, included in your integration code. For example, if you're using a code as shown below:
var cX = window.cX || { options: { consent: true }};
cX.callQueue = cX.callQueue || [];
cX.callQueue.push(['setSiteId', '<site_ID>']);
cX.callQueue.push(['sendPageViewEvent']);
cX.callQueue.push(['invoke', requestConsent])
You will need to remove the following 2 lines from it:
cX.callQueue.push(['setSiteId', '<site_ID>']);
cX.callQueue.push(['sendPageViewEvent']);
The reason is, that both methods will be called after the Composer 1X execution, directly.
More information about the Piano Audience, Piano Insight and Piano CCE consents is available here.
Q: Can both the Cxense and Composer JS coexist without there being any problem?
A: Yes that is correct. Although if you have a C1X integration the Cxense script should be automatically integrated already.
Q: Should all the events that are already being sent with the cX object also be included in the Composer "tp" object?
A: No, that is not necessary.
Q: What IP addresses are requests being sent from?
A: Below is a list of IP addresses used:
-
5.9.190.101
-
5.9.190.106
-
5.9.190.107
-
5.9.190.127
For simplicity, you can also use the network specifications 5.9.190.96/27 or 5.9.190.96, netmask 255.255.255.224. The content processing cluster is hosted by Piano's infrastructure in Germany. Please ensure that there are no issues with EU-based IP addresses being blocked.
Q: What is the type and protocol of the request?
A: It's HTTP:*.
Q: What is the number of concurrent and maximum requests/connections that will be initiated?
A: There is no formal limitation, but our current technology limits concurrent requests across all our clients. We, therefore, do not expect more than 5 - 10 concurrent sessions at any one time on a specific site.
Q: What is the frequency of the crawling, connections, or requests?
A: Crawling is triggered
-
when a specific URL has generated 3 or more page views after an article has been published for the first time or was updated
-
or if the documents are manually pushed (e.g. prior to the URL being published on a page) using the API /document/update.
When the site is crawled each URL is checked against the Piano system whether;
-
a profile for the URL already exists
-
if the profile exists and is less than 30 days old.
If the answer is yes to both, no further action is taken. So in reality most pages are crawled once when new and recrawled only if still being viewed longer than 30 days after publication.
There is no option to limit the total concurrent connections established to a single IP address.
Q: Are IF-MODIFIED-SINCE queries issued and do they conform to 304 Not Modified?
A: Pages are fetched by a regular web browser instance, so the page is being processed as for a real user. E.g. all resources are loaded, scripts are executed and all HTTP headers that are meaningful for the browser will be confirmed.
Q: Do you respect and conform to robots.txt deny/allow entries?
A: We do not respect or conform to the “robots.txt”. We need to load the page as for a real user.
We also do not respect crawl-delay from the “robots.txt”.
Q: Do you respect Cache-Control response headers?
A: Caching is technically supported but not guaranteed.
Pages are fetched by a regular web browser instance.
Q: Do you respect and follow the Retry-After response header?
A: No, there is a general failure route implemented.
If a domain has more than 10% failures on 100 samples OR is failing more than 50% of the times accessed, then we consider the domain unhealthy and temporarily disable domain crawling for 30 minutes. After that, if the domain has not recovered, crawling will be disabled for 1 hour. Pageviews received when the domain is disabled will not trigger the crawling process.
Q: What is the User-Agent field for the connections?
A:Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US) AppleWebKit/537.36 (KHTML, like Gecko) cXensebot/2.0; +http://www.cxense.com/bot.html Safari/533.3
Q: Is the application using BloxCMS web services?
A: No.
Q: How long will this script need access to scrape?
A: This is a continuous process. Crawling is an essential component to make the Content module and Segmentation work for any client.