Skip to content

Commit

Permalink
Merge pull request #9321 from google/enhancement/9173-conversion-infr…
Browse files Browse the repository at this point in the history
…a-flag

Enhancement/9173 conversion infra flag
  • Loading branch information
tofumatt committed Sep 12, 2024
2 parents b098412 + a671921 commit 08a947c
Show file tree
Hide file tree
Showing 35 changed files with 76 additions and 148 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,12 @@ import { CORE_SITE } from '../../googlesitekit/datastore/site/constants';
import ErrorText from '../../components/ErrorText';
import LoadingWrapper from '../LoadingWrapper';
import ConfirmDisableConversionTrackingDialog from './ConfirmDisableConversionTrackingDialog';
import { useFeature } from '../../hooks/useFeature';
import useViewContext from '../../hooks/useViewContext';
import { trackEvent } from '../../util';
import PropTypes from 'prop-types';

export default function ConversionTrackingToggle( { children, loading } ) {
const viewContext = useViewContext();
const iceEnabled = useFeature( 'conversionInfra' );
const [ saveError ] = useState( null );
const [ showConfirmDialog, setShowConfirmDialog ] = useState( false );

Expand All @@ -50,10 +48,6 @@ export default function ConversionTrackingToggle( { children, loading } ) {

const { setConversionTrackingEnabled } = useDispatch( CORE_SITE );

if ( ! iceEnabled ) {
return null;
}

return (
<Fragment>
<LoadingWrapper loading={ loading } width="180px" height="21.3px">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,6 @@ Enabled.scenario = {
label: 'Components/Conversion Tracking/ConversionTrackingToggle/Enabled',
delay: 250,
};
Enabled.parameters = {
features: [ 'conversionInfra' ],
};
Enabled.decorators = [
( Story, { parameters } ) => {
const setupRegistry = ( registry ) => {
Expand Down Expand Up @@ -76,9 +73,6 @@ Default.scenario = {
label: 'Components/Conversion Tracking/ConversionTrackingToggle/Default',
delay: 250,
};
Default.parameters = {
features: [ 'conversionInfra' ],
};
Default.decorators = [
( Story, { parameters } ) => {
const setupRegistry = ( registry ) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,9 +128,6 @@ IceEnabled.scenario = {
label: 'Modules/Ads/Settings/SettingsEdit/ICE',
delay: 250,
};
IceEnabled.parameters = {
features: [ 'conversionInfra' ],
};
IceEnabled.decorators = [
( Story, { parameters } ) => {
const setupRegistry = ( registry ) => {
Expand Down Expand Up @@ -162,7 +159,7 @@ IcePaxEnabled.scenario = {
delay: 250,
};
IcePaxEnabled.parameters = {
features: [ 'conversionInfra', 'adsPax' ],
features: [ 'adsPax' ],
};
IcePaxEnabled.decorators = [
( Story, { parameters } ) => {
Expand Down
49 changes: 23 additions & 26 deletions assets/js/modules/ads/components/settings/SettingsForm.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ import { CORE_SITE } from '../../../../googlesitekit/datastore/site/constants';
import Link from '../../../../components/Link';

export default function SettingsForm() {
const iceEnabled = useFeature( 'conversionInfra' );
const paxEnabled = useFeature( 'adsPax' );

const conversionID = useSelect( ( select ) =>
Expand Down Expand Up @@ -67,32 +66,30 @@ export default function SettingsForm() {
<div className="googlesitekit-ads-settings-fields">
<StoreErrorNotices moduleSlug="ads" storeName={ MODULES_ADS } />

{ iceEnabled && (
<div className="googlesitekit-settings-module__meta-item">
<ConversionTrackingToggle>
{ createInterpolateElement(
__(
'Conversion tracking allows you to measure additional events on your site from other plugins that Site Kit integrates with to optimize your campaign performance. <a>Learn more</a>',
'google-site-kit'
<div className="googlesitekit-settings-module__meta-item">
<ConversionTrackingToggle>
{ createInterpolateElement(
__(
'Conversion tracking allows you to measure additional events on your site from other plugins that Site Kit integrates with to optimize your campaign performance. <a>Learn more</a>',
'google-site-kit'
),
{
a: (
<Link
href={
conversionTrackingDocumentationURL
}
external
aria-label={ __(
'Learn more about conversion tracking',
'google-site-kit'
) }
/>
),
{
a: (
<Link
href={
conversionTrackingDocumentationURL
}
external
aria-label={ __(
'Learn more about conversion tracking',
'google-site-kit'
) }
/>
),
}
) }
</ConversionTrackingToggle>
</div>
) }
}
) }
</ConversionTrackingToggle>
</div>

{ ! isPaxView && (
<div className="googlesitekit-setup-module__inputs">
Expand Down
43 changes: 16 additions & 27 deletions assets/js/modules/ads/components/settings/SettingsView.js
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@ import { useFeature } from './../../../../hooks/useFeature';

export default function SettingsView() {
const paxEnabled = useFeature( 'adsPax' );
const iceEnabled = useFeature( 'conversionInfra' );

const conversionID = useSelect( ( select ) =>
select( MODULES_ADS ).getConversionID()
Expand All @@ -65,43 +64,33 @@ export default function SettingsView() {

const isPaxView = paxEnabled && ( paxConversionID || extCustomerID );

const isConversionTrackingEnabled = useSelect( ( select ) => {
if ( ! iceEnabled ) {
return false;
}

return select( CORE_SITE ).isConversionTrackingEnabled();
} );
const isConversionTrackingEnabled = useSelect( ( select ) =>
select( CORE_SITE ).isConversionTrackingEnabled()
);

return (
<Fragment>
<div
className={ classnames( {
'googlesitekit-settings-module__meta-item':
iceEnabled && isAdBlockerActive,
isAdBlockerActive,
} ) }
>
<AdBlockerWarning moduleSlug="ads" />
</div>

{ iceEnabled && (
<div className="googlesitekit-settings-module__meta-item">
<h5 className="googlesitekit-settings-module__meta-item-type">
{ __(
'Enhanced Conversion Tracking',
'google-site-kit'
) }
</h5>
<p className="googlesitekit-settings-module__meta-item-data">
{ isConversionTrackingEnabled &&
__( 'Enabled', 'google-site-kit' ) }
{ isConversionTrackingEnabled === false &&
__( 'Disabled', 'google-site-kit' ) }
{ isConversionTrackingEnabled === undefined &&
BLANK_SPACE }
</p>
</div>
) }
<div className="googlesitekit-settings-module__meta-item">
<h5 className="googlesitekit-settings-module__meta-item-type">
{ __( 'Enhanced Conversion Tracking', 'google-site-kit' ) }
</h5>
<p className="googlesitekit-settings-module__meta-item-data">
{ isConversionTrackingEnabled &&
__( 'Enabled', 'google-site-kit' ) }
{ isConversionTrackingEnabled === false &&
__( 'Disabled', 'google-site-kit' ) }
{ isConversionTrackingEnabled === undefined && BLANK_SPACE }
</p>
</div>

{ ! isAdBlockerActive && (
<div className="googlesitekit-settings-module__meta-item">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,18 +50,12 @@ Default.scenario = {};

export const IceEnabled = Template.bind( null );
IceEnabled.storyName = 'With ICE enabled';
IceEnabled.parameters = {
features: [ 'conversionInfra' ],
};
IceEnabled.args = {
enhancedConversionTracking: true,
};

export const IceDisabled = Template.bind( null );
IceDisabled.storyName = 'With ICE disabled';
IceDisabled.parameters = {
features: [ 'conversionInfra' ],
};
IceDisabled.args = {
enhancedConversionTracking: false,
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,8 @@ import DisplaySetting, {
BLANK_SPACE,
} from '../../../../components/DisplaySetting';
import { trackingExclusionLabels } from '../common/TrackingExclusionSwitches';
import { useFeature } from '../../../../hooks/useFeature';

export default function OptionalSettingsView() {
const iceEnabled = useFeature( 'conversionInfra' );

const useSnippet = useSelect( ( select ) =>
select( MODULES_ANALYTICS_4 ).getUseSnippet()
);
Expand All @@ -51,13 +48,9 @@ export default function OptionalSettingsView() {
select( MODULES_ANALYTICS_4 ).getAdsConversionID()
);

const isConversionTrackingEnabled = useSelect( ( select ) => {
if ( ! iceEnabled ) {
return false;
}

return select( CORE_SITE ).isConversionTrackingEnabled();
} );
const isConversionTrackingEnabled = useSelect( ( select ) =>
select( CORE_SITE ).isConversionTrackingEnabled()
);

return (
<Fragment>
Expand Down Expand Up @@ -89,24 +82,18 @@ export default function OptionalSettingsView() {
</div>
</div>

{ iceEnabled && (
<div className="googlesitekit-settings-module__meta-item">
<h5 className="googlesitekit-settings-module__meta-item-type">
{ __(
'Enhanced Conversion Tracking',
'google-site-kit'
) }
</h5>
<p className="googlesitekit-settings-module__meta-item-data">
{ isConversionTrackingEnabled &&
__( 'Enabled', 'google-site-kit' ) }
{ isConversionTrackingEnabled === false &&
__( 'Disabled', 'google-site-kit' ) }
{ isConversionTrackingEnabled === undefined &&
BLANK_SPACE }
</p>
</div>
) }
<div className="googlesitekit-settings-module__meta-item">
<h5 className="googlesitekit-settings-module__meta-item-type">
{ __( 'Enhanced Conversion Tracking', 'google-site-kit' ) }
</h5>
<p className="googlesitekit-settings-module__meta-item-data">
{ isConversionTrackingEnabled &&
__( 'Enabled', 'google-site-kit' ) }
{ isConversionTrackingEnabled === false &&
__( 'Disabled', 'google-site-kit' ) }
{ isConversionTrackingEnabled === undefined && BLANK_SPACE }
</p>
</div>

{ /* Prevent the Ads Conversion ID setting displaying after this field has been
migrated to the Ads module, even after resetting the Analytics module. */ }
Expand Down
43 changes: 19 additions & 24 deletions assets/js/modules/analytics-4/components/settings/SettingsForm.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ import AdsConversionIDSettingsNotice from './AdsConversionIDSettingsNotice';
import EntityOwnershipChangeNotice from '../../../../components/settings/EntityOwnershipChangeNotice';
import { isValidAccountID } from '../../utils/validation';
import ConversionTrackingToggle from '../../../../components/conversion-tracking/ConversionTrackingToggle';
import { useFeature } from '../../../../hooks/useFeature';
import { CORE_SITE } from '../../../../googlesitekit/datastore/site/constants';
import Link from '../../../../components/Link';

Expand All @@ -53,8 +52,6 @@ export default function SettingsForm( { hasModuleAccess } ) {
)
);

const iceEnabled = useFeature( 'conversionInfra' );

return (
<Fragment>
<SettingsControls hasModuleAccess={ hasModuleAccess } />
Expand All @@ -65,28 +62,26 @@ export default function SettingsForm( { hasModuleAccess } ) {
<EntityOwnershipChangeNotice slug={ [ 'analytics-4' ] } />
) }

{ iceEnabled && (
<ConversionTrackingToggle>
{ createInterpolateElement(
__(
'Conversion tracking is used for tracking additional conversion-related events via Analytics. <a>Learn more</a>',
'google-site-kit'
<ConversionTrackingToggle>
{ createInterpolateElement(
__(
'Conversion tracking is used for tracking additional conversion-related events via Analytics. <a>Learn more</a>',
'google-site-kit'
),
{
a: (
<Link
href={ conversionTrackingDocumentationURL }
external
aria-label={ __(
'Learn more about conversion tracking',
'google-site-kit'
) }
/>
),
{
a: (
<Link
href={ conversionTrackingDocumentationURL }
external
aria-label={ __(
'Learn more about conversion tracking',
'google-site-kit'
) }
/>
),
}
) }
</ConversionTrackingToggle>
) }
}
) }
</ConversionTrackingToggle>

{ isValidAccountID( accountID ) && (
<AdsConversionIDSettingsNotice />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -184,9 +184,6 @@ IceEnabled.scenario = {
label: 'Modules/Analytics4/Settings/SettingsEdit/ICE',
delay: 250,
};
IceEnabled.parameters = {
features: [ 'conversionInfra' ],
};
IceEnabled.decorators = [
( Story, { parameters } ) => {
const setupRegistry = ( registry ) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,18 +60,12 @@ Default.storyName = 'SettingsView';

export const IceEnabled = Template.bind( null );
IceEnabled.storyName = 'SettingsView ICE Enabled';
IceEnabled.parameters = {
features: [ 'conversionInfra' ],
};
IceEnabled.args = {
enhancedConversionTracking: true,
};

export const IceDisabled = Template.bind( null );
IceDisabled.storyName = 'SettingsView ICE Disabled';
IceDisabled.parameters = {
features: [ 'conversionInfra' ],
};
IceDisabled.args = {
enhancedConversionTracking: false,
};
Expand Down
1 change: 0 additions & 1 deletion feature-flags.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
[
"adsPax",
"audienceSegmentation",
"conversionInfra",
"conversionReporting",
"gm3Components",
"privacySandboxModule",
Expand Down
6 changes: 1 addition & 5 deletions includes/Core/Site_Health/Debug_Data.php
Original file line number Diff line number Diff line change
Expand Up @@ -192,12 +192,8 @@ protected function get_fields() {
'enabled_features' => $this->get_feature_fields(),
);

if ( Feature_Flags::enabled( 'conversionInfra' ) ) {
$fields = array_merge( $fields, $this->get_active_conversion_event_provider_fields() );
}

$fields = array_merge( $fields, $this->get_active_conversion_event_provider_fields() );
$fields = array_merge( $fields, $this->get_consent_mode_fields() );

$fields = array_merge( $fields, $this->get_module_sharing_settings_fields() );

$fields = array_filter(
Expand Down
Loading

0 comments on commit 08a947c

Please sign in to comment.