v3.8.0.1

STOCK-BASED COMPENSATION - Stock-based Compensation Expense (Details) - USD ($) $ in Thousands | 3 Months Ended | 9 Months Ended
--- | --- | ---
Sep. 30, 2017 | Sep. 30, 2016 | Sep. 30, 2017 | Sep. 30, 2016
Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items] |  |  |  |
Total stock-based compensation | $ 4,964 | $ 6,415 | $ 12,961 | $ 16,765
Employee Stock Option |  |  |  |
Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items] |  |  |  |
Total stock-based compensation | 652 | 1,336 | 2,355 | 3,667
Unrecognized stock-based compensation expense | 3,100 |  | $ 3,100 |
Period of recognition of unrecognized stock-based compensation expense |  |  | 1 year 7 months 10 days |
Restricted Stock Units (RSUs) |  |  |  |
Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items] |  |  |  |
Total stock-based compensation | 3,945 | 4,353 | $ 9,408 | 11,044
Unrecognized stock-based compensation expense | 22,100 |  | $ 22,100 |
Period of recognition of unrecognized stock-based compensation expense |  |  | 2 years 4 days |
ESPP |  |  |  |
Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items] |  |  |  |
Total stock-based compensation | 367 | 726 | $ 1,198 | 2,054
Unrecognized stock-based compensation expense | 300 |  | $ 300 |
Period of recognition of unrecognized stock-based compensation expense |  |  | 2 months 1 day |
Cost of revenue |  |  |  |
Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items] |  |  |  |
Total stock-based compensation | 313 | 431 | $ 860 | 1,024
Research and development |  |  |  |
Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items] |  |  |  |
Total stock-based compensation | 1,329 | 1,576 | 3,082 | 4,287
Sales and marketing |  |  |  |
Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items] |  |  |  |
Total stock-based compensation | 1,566 | 2,505 | 4,361 | 6,336
General and administrative |  |  |  |
Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items] |  |  |  |
Total stock-based compensation | $ 1,756 | $ 1,903 | $ 4,658 | $ 5,118

X
- Definition Represents the expense recognized during the period arising from equity-based compensation arrangements (for example, shares of stock, unit, stock options or other equity instruments) with employees, directors and certain consultants qualifying for treatment as employees. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SAB Topic 14.F) -URI http://asc.fasb.org/extlink&oid=27013229&loc=d3e301413-122809 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 1 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=6415400&loc=d3e5047-113901 Reference 3: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (h)(1)(i) -URI http://asc.fasb.org/extlink&oid=6415400&loc=d3e5070-113901 + Details
Name: | us-gaap_AllocatedShareBasedCompensationExpense
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. + References No definition available. + Details
Name: | us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Unrecognized cost of unvested share-based compensation awards. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (i) -URI http://asc.fasb.org/extlink&oid=6415400&loc=d3e5070-113901 + Details
Name: | us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Weighted average period over which unrecognized compensation is expected to be recognized for equity-based compensation plans, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (i) -URI http://asc.fasb.org/extlink&oid=6415400&loc=d3e5070-113901 + Details
Name: | us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_AwardTypeAxis=us-gaap_EmployeeStockMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_IncomeStatementLocationAxis=us-gaap_SellingAndMarketingExpenseMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |